/proc/meminfo の MemFree と MemAvailable の違いは何ですか

/proc/meminfo の MemFree と MemAvailable の違いは何ですか

次のような場合に表示されますcat /proc/meminfo:

MemTotal:        8078760 kB
MemFree:          629012 kB
MemAvailable:    1175568 kB
Buffers:          126184 kB
Cached:          2988512 kB
SwapCached:       261320 kB
Active:          4867796 kB
Inactive:        2119244 kB
Active(anon):    4465072 kB
Inactive(anon):  1895064 kB
Active(file):     402724 kB
Inactive(file):   224180 kB
Unevictable:       12068 kB
Mlocked:           12068 kB
SwapTotal:      16582652 kB
SwapFree:       13724816 kB
Dirty:               252 kB
Writeback:             0 kB
AnonPages:       3848816 kB
...

MemFree と MemAvailable の違いは何ですか?

答え1

要約:

MemFree: システムによって未使用のままになっている物理 RAM の量 (キロバイト単位)。

MemAvailable: スワップなしで新しいアプリケーションを起動するために使用できるメモリ量の推定値。MemFree、SReclaimable、LRU リストのファイル サイズ、および各ゾーンの最低ウォーターマークから計算されます。推定値では、システムが正常に機能するためにはページ キャッシュが必要であること、およびアイテムが使用中であるため、すべての再利用可能スラブが再利用可能であるとは限らないことが考慮されています。これらの要因の影響はシステムによって異なります。

完全な回答ここにある:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773

関連情報