free -m 这个命令大家都很熟悉了,但是结果的解读多多少少有点迷惑性,自己记录总结一下,以后免得忘记了。
先来看一张图,截图的我的一个服务器的内存使用情况。
1:先来看-/+ buffers/cache这一行,这个是要这么看的,最左边的-和+是对应后面的2列数字
其中,-buffers/cache这个是代表当前服务器的程序实际已经使用的内存。
+buffers/cache这个是代表当前服务器的程序还未使用的内存。
2:记住二个公式:
总的物理内存 = +buffers/cache 加上 -buffers/cache
(64373 ≈ 33099 + 31274)
当前实际已使用的内存-buffers/cache=used - buffers - cached
(33099 ≈ 43937 - 139 - 10698)
3:swap:物理内存不够用的时候,会把一部分物理内存作为虚拟内存,交换空间,把不常用的程序的数据会放入到该交换空间
4:total:代表总的交换空间大小 used:已经被交换的空间 free:空闲的等待交换空间
总结:程序真正占用的内存是: -buffers/cache,也就是used - buffers - cached
还未用到的内存是:free + buffers +cached