cgroups - 制御メモリ

cgroups - 制御メモリ

cgroupと名前空間がどのように機能するかを理解しようとしています。サンプルcgroupでサンプルプログラムを実行し、メモリリソースがどのように制御されているかを確認できました。

メモリ制限が8MB(memory.limit_in_bytes + memory.memsw.limit_in_bytes)のサンプルCgroupがあります。また、1MBのチャンクでメモリを割り当てる単純なCプログラムもあります。サンプルCgroupでプログラムを実行するたびに3MBを割り当ててから終了します。メモリ+スワップ制限を8MBに設定したときになぜこれが起こるのか理解しようとしています。

このCgroupの詳細なメモリ.statを見ると、特定のバイト数を報告する「total_inactive_anon」フィールドがあります。プログラムによって割り当てられた3MBにこれを追加すると、合計7MBが少し以上になります。これがプログラムが3MB以上のメモリを取得できない理由なのかと思います。ところで、「total_inactive_anon」がどういう意味なのか、プログラムで割り当てたメモリとは別なのかはよく分かりません。

もしご案内いただきありがとうございます。

ベストアンサー1

おすすめ記事