web-dev-qa-db-ja.com

すべてのsystemdcgroupにデフォルトのmemory.swappinessを設定するにはどうすればよいですか?

CentOS 7で、すべてのsystemd cgroupにデフォルトのmemory.swappinessを設定するにはどうすればよいですか? ControlGroupAttributeオプションを使用してcgroupごとに実行できますが、すべてのcgroupのデフォルトの60をオーバーライドしたいと思います。

1
Jeff Kubina

すべてのcgroupに対してこれを実行する場合、システム全体に対してこれを実行しますか?その場合は、「/ etc /sysctl.conf」でswappinessシステム全体を設定できます。編集する行は「vm.swappiness =」で、0から100までの任意の値に設定できます。

スワップを完全に回避する方法としてこの値を移動する人への公正な警告として、これを非常に低く設定すると、デマンドページングがほぼ完全に無効になります。これは、アイドル状態のページをRAMから抜け出すための非常に便利な方法です。はい、それは「スワッピング」ですが、メモリが不足したときの古い従来のスワッピングの感覚ほど絶望的なことではありません。デマンドページングは​​大規模なデータベースで特に役立ちます。実際に速度が低下することはありません。デマンドページングは​​、システム粉砕を停止した後ではなく、停止します。vm.swappinessシステム全体に0を設定すると、システムが高圧下にあるときにプロセスをOOMキルし、システム全体をカーネルパニックに陥らせる可能性があります。

また、言及する価値があるのは、sysctl.confファイルを編集した後に読み取るように呼び出す必要があることです。 # sysctl -pは、/ etc /sysctl.confで変更された行を読み取ります。 vm.swappinessは、実行中のシステムでこのように変更するか、procfsを使用して次のように変更できます。# echo 50 > /proc/sys/vm/swappinessここで、50は0〜100の任意の数値です。

1
Spooler