SwappinessはLinuxカーネルがスワップ処理を行う頻度を変更するためのパラメータである。
Swappinessには0から100までの値を設定することができる。 低い値を設定するとカーネルは可能な限りスワップを行わないようにし、高い値を設定すると積極的にスワップ領域を利用しようとする。 既定の値は60となっており、たいていのシステムでは100に設定すると全体的なパフォーマンスに悪影響を及ぼし、0を含め低い値に設定すると応答速度が向上する(反応までの遅延が減少する)とされる。
要約すると次のようになる。 値 スワップ頻度 vm.swappiness = 0 メモリが一杯になるまでスワップを利用しない vm.swappiness = 60 規定値 vm.swappiness = 100 全体のパフォーマンスに影響しうるほど積極的にスワップ処理を行う
設定方法
Linuxでswappinessを一時的に設定したい場合、たとえば100に設定したいならrootユーザにおいて下記のコマンドを実行する。 echo 100 > /proc/sys/vm/swappiness あるいは sysctl -w vm.swappiness=100
同様に恒久的に変更するためには /etc/sysctl.conf ファイルに下記の行を記述し、再起動する。(もしないならば追記する) vm.swappiness = 100 現在の値を確認するには次のコマンドを実行する。 cat /proc/sys/vm/swappiness
関連項目
Zram (旧称:compcache) Zswap TuxOnIce swsusp uswsusp
Linux系の話題(Linux topics)
ターボメモリー
キャッシュ無効化
EnhanceIO sTec
出典
外部リンク Documentation for /proc/sys/vm/* kernel version 2.6.29 権威あるドキュメント(authoritative documentation)
Swap関連データ構造 - Linuxカーネルメモ