MemAvailable: An estimate of how much memory is available for starting new
applications, without swapping. Calculated from MemFree,
SReclaimable, the size of the file LRU lists, and the low
watermarks in each zone.
The estimate takes into account that the system needs some
page cache to function well, and that not all reclaimable
slab will be reclaimable, due to items being in use. The
impact of those factors will vary from system to system.
是的,你说的对。这让我困惑了很多年。
Top 的交换统计信息显示只需要四列中的三列,而其内存统计信息显示则需要五列。这就是为什么“avail Mem”统计信息的标签中有“Mem”一词。它澄清了该统计信息用于内存,即使它与交换统计信息在同一行。其他内存统计信息位于标题为“Mem :”的行上,因此它们的标签中不需要“Mem”一词。
是的,
avail Mem
top 指的是物理内存,并不包括交换,尽管它(令人困惑地)显示在交换统计信息的右侧。MemAvailable
从技术上讲,这是内核值(可用)的值/proc/meminfo
,大致相当于*可用内存量加上缓冲区和缓存的值。它表示运行进程可用的内存量,无需换出页面(但可能通过丢弃缓存的页面)MemAvailable
通常比MemFree
(如本节top
所示)更有用的指标,因为您通常希望所有内存都执行某些操作而不是闲置,因此 Linux 内核将利用未使用的 RAM 作为磁盘缓存。https ://www.linuxatemyram.com网站经常被引用作为此机制的解释。free
$unit Mem:
* 细心的读者会注意到,
avail
top并不像那么简单free+buff/cach
。官方内核文档定义MemAvailable
如下: