系統調整,儘量不使用swap
linux kernel 決定是否要將 ram 裡的資料搬到 swap 的策略
swappiness 的值介於 0 ~ 100 之間, 值愈高, kernel 愈會將 application 用的記憶體搬到 swap。悲慘的是, 預設值一直都是 60, 但現在的電腦有很大的 ram (早期 512MB vs. 現在最少 4GB), 用 60 的結果是, 明明還有很多記憶體空間可用, 一搬大檔案, file cache 達到記憶體臨界值, kernel 就將 application 用的記憶體搬到 swap, 於是莫明奇妙整個系統進入緩慢的狀態。
如果記憶體使用達到臨界值,就會使用swap,設定的 60 太高,所以要充分使用記憶體,就調低swapnesss 值。
sysctl -a
vi /etc/sysctl.conf
sysctl -p 寫入
echo 3 > /proc/sys/vm/drop_caches
swapoff -a
swapon -a
寫入 1 會清除 pagecache:
echo 1 > /proc/sys/vm/drop_caches
寫入 2 會清除 dentries 與 inodes:
echo 2 > /proc/sys/vm/drop_caches
寫入 3 則有等同於 1+2 的效果,會清除 pagecache、dentries 及 inodes:
echo 3 > /proc/sys/vm/drop_caches
Last updated