这个
has been answered在serverfault中.以下是相关摘录:
总=免费使用
> shared / buffers / cached:显示特定用途的内存使用情况,这些值包含在使用的值中.
第二行给出了第一行调整值.它给出了使用的原始值减去缓存的和缓冲区以及free的原始值加上缓存的和缓冲区,因此它的标题.这些新值通常比第一行更有意义.
[节选摘录]
专注于你的情况,
> 14813(已用内存) – 262(缓冲) – 883(缓存)= 13668(由应用程序使用).
如果应用程序需要更多内存,可以从空闲内存或缓存/缓冲中获取,因此:
> 262(缓冲)883(缓存)68(根本不使用)= 1213(可供应用程序使用).
对于缓存和缓冲区,系统实际上并不需要262 883 = 1145(不是13GB),但由于它存在,它需要它(但如果应用程序需要更多,则将其返回).看看Linux ate my RAM!页面.
您还可以使用top(我个人更喜欢htop)来查看内存状态以及哪些应用程序占用大部分RAM.
举个例子,这是我在RaspberryPi中运行的htop和free -h执行的截图:
raspberry ~ # free -h
total used free shared buffers cached
Mem: 183M 178M 5,3M 0B 63M 42M
-/+ buffers/cache: 72M 111M
Swap: 0B 0B 0B