/proc/meminfo 中的 MemFree 和 MemAvailable 有什么区别

Tra*_*der 62 linux

如果您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
...
Run Code Online (Sandbox Code Playgroud)

MemFree 和 MemAvailable 有什么区别?

Tra*_*der 84

特尔;博士:

MemFree:系统未使用的物理 RAM 量(以千字节为单位)。

MemAvailable:估计有多少内存可用于启动新应用程序,无需交换。根据 MemFree、SReclaimable、文件 LRU 列表的大小以及每个区域的低水印计算。该估计考虑到系统需要一些页面缓存才能正常运行,并且由于项目正在使用,并非所有可回收的平板都是可回收的。这些因素的影响因系统而异。

完整的答案就在这里:

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