「記憶は責任がある」というのは、まさに何を意味するのでしょうか?

「記憶は責任がある」というのは、まさに何を意味するのでしょうか?

「メモリ占有」とは、常にコミットが保証されるメモリを意味すると理解される。つまり、VMAのすべてのページがRAMまたはスワップにあるため、すべてのページを割り当てる必要があります。

ただし、フラグがcat /proc/self/smapsある場合(出力から無関係のフィールドを省略しました):[heap]ac

<addr> rw-p 00000000 00:00 0                          [heap]
Size:                132 kB
Rss:                   8 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         8 kB
Referenced:            8 kB
Anonymous:             8 kB
Swap:                  0 kB
THPeligible:    0
VmFlags: rd wr mr mw me ac sd

ただし、VMAのサイズは132kBですが、8kbしか存在しないため、124kBはコミットされていません。

acこの場合、どういう意味ですか? 「地域が責任を負う」という意味man procだが、ac正確に何を意味するのかは分からない。

ベストアンサー1

私は「ac」マッピングされたVMAがOOMキラーの重みに含まれていると思います。たとえば、glibc スタックガードは ac として表示されないため、含まれません。

おすすめ記事