RHEL 7.2メモリ使用量は次のとおりですfree -m
。
total used free shared buff/cache available
Mem: 386564 77941 57186 687 251435 306557
Swap: 13383 2936 16381
使用されたスワップスペースは2936Mであることがわかります。
だから私たちはそれを最小限に抑えたいと思います。
echo 1 > /proc/sys/vm/swappiness
sysctl -w vm.swappiness=1
echo "vm.swappiness = 1" >> /etc/sysctl.conf
10分後にもう一度確認してみると、OSはまだスワップ領域を使用していました。
free -m
:
total used free shared buff/cache available
Mem: 386564 77941 57186 687 251435 306557
Swap: 13389 2930 16381
なぜ私たちが取らない措置がすぐに適用されるのですか?
スワップスペースをゼロにするには、OSを再起動する必要がありますか?
はい
私たちは以下を実行しますvmstat
:
vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 85740 20255872 2238248 183126400 0 0 7 162 0 0 7 1 92 0 0
vm.swappiness=1 を減らします。
10分後にvmstatを実行します。
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 85740 20255872 2238248 183126400 0 0 7 162 0 0 7 1 92 0 0
ベストアンサー1
前に申し上げたとおり(参照)なぜスワップ機能が機能しないのですか?)、変更は、swappiness
メモリを解放する必要があるときにカーネルが行う将来の決定にのみ影響します。これを減らすと、カーネルは置き換えられたすべてのエントリを再ロードしません。
出力vmstat
にスワップが積極的に使用されていないとマークされています。つまり現時点では、ワークロードには置き換えられたページは実際には必要ありません。
いつものようにカーネルのスワップ使用を細かく管理しようとすることは意味がありません。ワークロードに応じてページキャッシュをサポートする必要があるかどうかを判断し、swappiness
それに応じて調整してシステムを実行します。
もしあなたなら本物スワップを消去するには、スワップを無効にして再度有効にします。
swapoff -a && swapon -a