vm.swappiness=1
長年にわたってsysctl.confで利用可能なRAMが十分であるにもかかわらず(キャッシュ側でほとんどいっぱいになり、通常はまだ4GBの空き容量がありますが、「使用可能」はまだかなり無料です)、スワップ領域は引き続き使用されます問題がありました。時にはほとんどいっぱいです。
私はスワップをまったく使用したくありません。必須。
私は今読んだ。2019年のこの回答でそれ:
swappiness = 0は、できるだけ長く物理メモリからプロセスをスワップしないようにカーネルに指示します。
しかし、私も読んだ。この2012年の回答からそれ:
交換性=0:
- カーネルバージョン3.5以降:交換性を無効にします。
- 3.5以前のカーネルバージョン:可能であれば、物理メモリ内のプロセスを交換しないでください。
それで混乱しています...vm.swappiness=0
スワップを完全に無効にする必要がありますか、それとも必要なときにスワップを使い続けるべきですか?
私のサーバーのカーネルバージョン:
- 4.18(アルマLinux 8)
- 3.10(セントOS 7)
ベストアンサー1
スワップを完全に無効にする唯一の方法は、最初からスワップを設定しないことです。
0 に設定すると、vm.swappiness
カーネルは最後の手段としてのみスワップを使用します。現在は次のように記録されます。
値が 0 の場合、カーネルは、使用可能なページとファイル対応ページの数がその領域の最高透かしより少なくなるまでスワップを開始しません。
私が知っている限り、ゼロswappiness
に設定してもスワップが完全に無効になるわけではないので、必要に応じて両方の環境でスワップが使用されていることがわかります。