(Linux)- SWAP 常用命令整理

(Linux)- SWAP 常用命令整理
(Linux)- SWAP 常用命令整理
 
 
 

一 虛擬記憶體(SWAP)

1.1 確認記憶體使用狀況

free -m
$ free -m
              total        used        free      shared  buff/cache   available
Mem:            990         164         197          38         628         584
Swap:             0           0           0

$ free -m
             total       used       free     shared    buffers     cached
Mem:           992        867        125         20         63        516
-/+ buffers/cache:        287        704
Swap:         1023          0       1023

 

1.2 設定 Swap File

設定 4G 的 SWAP 檔案
sudo -s
cd /var
fallocate -l 4G swapfile.1
chmod 600 swapfile.1
設定此檔案只能被 root 讀寫,以防安全性問題

 

1.3 啟用 SWAP

mkswap /var/swapfile.1
swapon /var/swapfile.1

 

1.4 查詢目前 SWAP 路徑

$ swapon -s
$ swapon -s
Filename                Type        Size    Used    Priority
/var/swapfile.1                            file        4194300    0    -1

 

1.5 讓 Swap file 重開機後也能自動啟動

請確認您的 swap 檔案路徑為 /var/swapfile.1,如果有自定義其他 swap 檔案名稱,請將 swap 檔案路徑改為您的路徑,否則會導致無法開機
echo "/var/swapfile.1    none    swap    sw    0    0" >> /etc/fstab

 

1.6 使用 htop 監控記憶體使用狀況

sudo apt-get install htop

 

1.7 設定 swappiness 調整 swap 使用優先權

swappiness 數值介於 0~100,越接近 100 則系統越常使用 swap,越接近 0 則系統會越常使用 RAM,預設為 60,為了系統效能,可以盡量將此設定值調低 查詢 swappiness
cat /proc/sys/vm/swappiness
 
1.8 設定 swappiness
sysctl vm.swappiness=10
 
1.9 設定重新開機時 swappiness 數值
echo "vm.swappiness = 10" >> /etc/sysctl.conf

 

二 調整 swap 參數

 

如果常發生記憶體吃滿的情況,可以調整 kernel 內建的參數 swappiness 和 vfs_cache_pressure 試試看。

2.1 swappiness

swappiness 是調整系統進行 Swap 的頻率
建議值是 0 ~ 100 ( 0 是低, 100 是調高頻率 )
我的 ubuntu 系統預設值為 60

$cat /proc/sys/vm/swappiness

可以這樣調整他. (重開就清掉了)

$sudo sysctl vm.swappiness=10

或者

$sudo vim /etc/sysctl.conf

# 加入參數
...
vm.swappiness=10
...

 

2.2 vfs_cache_pressure

vfs_cache_pressure 可以控制系統清除 cache 的頻率
數值設定低會導致內核傾向於保留 dentry 和 inode 於記憶體中
高就會提高清除重建的頻率
而預設值為 100
一般建議是不要太高

$cat /proc/sys/vm/vfs_cache_pressure

一樣可以這樣設定。( 但重開機後會被還原 )

$sudo sysctl vm.vfs_cache_pressure=50

或者

$vim /etc/sysctl.conf
vm.vfs_cache_pressure = 500

也有人建議可以設定到 10000

至於效果好不好,可能根據每個環境要進行監控一下

 

 

免責聲明:

1.本影像檔案皆從網上搜集轉載,不承擔任何技術及版權問題。

2.如有下載連結僅供寬頻測試研究用途,請下載後在24小時內刪除,請勿用於商業。

3.若侵犯了您的合法權益,請來信通知我們,我們會及時刪除,給您帶來的不便,深表歉意。



2 thoughts on “(Linux)- SWAP 常用命令整理”

  • Great blog you have got here.. It’s hard to find quality writing like yours these days.

    I truly appreciate individuals like you! Take care!!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *