cgroups v2のメモリ.swappinessファイルの置き換えは何ですか?

cgroups v2のメモリ.swappinessファイルの置き換えは何ですか?

現在、cgroups v1からcgroups v2に移行しています。 cgroups v1 で使用される memory.swappiness ファイルが見つかりません。 swap 関連ファイルは次のとおりです。

memory.swap.current
memory.swap.events
memory.swap.high
memory.swap.max

しかし、それらのそれぞれはswappinessパラメータとは関係ありません。文書。 cgroups v2のmemory.swappinessファイルに関する情報は見つかりません。/proc/sys/vm/swappinessファイルとファイル/etc/sysctl.confのvm.swappinessパラメータに関する情報のみを見つけることができます。これは、cgroups v2を使用して交換可能性を設定できないという意味ですか?

オペレーティングシステム:Debian 11

答え1

はい。 cgroups v2では、スワップをグローバルにのみ制御できます。ハ・テジュン(cgroups v2の設計と実装)次の理由が提示されました:

swappinessが何をエンコードするかは不明です。これらの多くは、匿名メモリIOがファイルサポートIOよりも本質的に高いランダム性を考慮する方法です。したがって、ワークロードではなく、基本ハードウェアの機能に近いです。また、実装が正しくありません。 iirc、動作はリサイクルプログラムによって異なります。

実際、交換性は、個々のワークロードの動作ではなく、通常はシステムストレージの属性であるシステムのI / Oバランスに近いです。

cgroups v2は利用可能な追加設定を提供します。メモリ使用量の制御、しばしば交換性よりも適切な方法で使用されます。しきい値は、収集を完全に防止し(memory.min)、収集を最小限に抑え(memory.low)、スワップの使用を制限するように(memory.swap.max極端な場合memory.swap.high)設定できます。

関連情報