cgroupsで1つのプロセスのみのスワップをオフにしますか?


15

1つのプロセスのみのスワッピングをオフにします。スワップは、他のプロセスでも通常どおり機能するはずです。

cgroupsでこれを実装するにはどうすればよいですか?

回答:


9

memory.swappinessに関するカーネルのドキュメントから:

5.3 swappiness

/ proc / sys / vm / swappinessに似ていますが、グループの階層のみに影響します。

以下のcgroupの交換は変更できません。
-ルートcgroup(/ proc / sys / vm / swappinessを使用)。
-階層を使用し、その下に他のcgroupがあるcgroup。
-階層のルートではなく、階層を使用するcgroup。

Red Hatカスタマーポータルから:

memory.swappiness

ページキャッシュからページを回収する代わりに、このcgroupのタスクが使用するプロセスメモリをスワップアウトするカーネルの傾向を設定します。これは、システム全体の/ proc / sys / vm / swappinessに設定されているのと同じ傾向で、同じ方法で計算されます。デフォルト値は60です。60未満の値はプロセスメモリをスワップアウトするカーネルの傾向を低下させ、60を超える値はプロセスメモリをスワップアウトするカーネルの傾向を増大させ、100を超える値はこのcgroup内のプロセスのアドレス空間。

値0は、プロセスメモリのスワップアウトを妨げないことに注意してください。グローバル仮想メモリ管理ロジックはcgroup値を読み取らないため、システムメモリが不足している場合でも、スワップアウトが発生する可能性があります。ページを完全にロックするには、cgroupsの代わりにmlock()を使用します。

::次のグループの交換は変更できません:
* / proc / sys / vm / swappinessで設定された交換を使用するルートcgroup。
*下位に子グループを持つcgroup。

編集: 設定方法を正確に知りたい場合は、他のほとんどのcgroup属性とまったく同じように設定します。

 # cd /mnt/cgroup/<cgroupName>
 # cat memory.swappiness
 60
 # echo "59 " > memory.swappiness
 # cat memory.swappiness
 59

/tmpとしてマウントされたファイルについてはどうtmpfsですか?unix.stackexchange.com/q/146490/56970
CMCDragonkai 14

ここでカーネルのドキュメントの関連部分を引用したのは良いことです-リンクが壊れています。
ムガレー

Linuxカーネルのドキュメントへのリンクが壊れています。代わりにこれを使用してくださいkernel.org/doc/Documentation/cgroup-v1/memory.txt
アンドリューアイゼンバーグ

@AndrewEisenberg必要に応じて回答を自由に編集してください
Bratchley

うーん...私を聞かせてくれません。編集は6文字を超える必要があると言います。おそらく十分な評判。
アンドリューアイゼンバーグ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.