我读过了顶部的“buff/cache”和“avail mem”字段是什么意思? 和 https://askubuntu.com/questions/770108/what-do-the-changes-in-free-output-from-14-04-to-16-04-mean。但仍有疑问。
$ free -h
total used free shared buff/cache available
Mem: 7.7G 5.3G 268M 620M 2.1G 1.5G
Swap: 14G 874M 14G
“使用”是否已经包含“共享”?
可以从其他列确定“可用”吗?
为什么“可用”不等于“空闲”和“缓冲/缓存”之和?
我认为“buff/cache”实际上可以通过启动新进程来使用,那么为什么“available”比“buff/cache”小呢?
“已使用总数”(2.4G)由哪些列组成?为什么它和“可用”不一样?
谢谢。
答案1
看联机free
帮助页一些答案;尤其:
用过的 已用内存(计算为全部的-自由的-缓冲区-缓存)
联机proc
帮助页也值得一读(看/proc/meminfo
说明)。
解决您的问题:
“使用”是否已经包含“共享”?
是的。
可以从其他列确定“可用”吗?
不;看“free -m”命令中“available”字段的含义和如何跨发行版获取可移植的可用内存量?对于(血淋淋的)细节。
为什么“可用”不等于“空闲”和“缓冲/缓存”之和?
往上看。表示无需交换即可使用的内存量; “buff/cache”包括无法立即回收的内存,因此不可用。
我认为“buff/cache”实际上可以通过启动新进程来使用,那么为什么“available”比“buff/cache”小呢?
往上看。
“已使用总数”(2.4G)由哪些列组成?为什么它和“可用”不一样?
往上看。