第一部分Mem行:
total 内存总数: 3865M
used 已经使用的内存数: 1545M
free 空闲的内存数: 2320M
shared 多个进程共享的内存总额 196M
buffers Buffer 缓存内存数: 176M
cached Page 缓存内存数:569M
关系:total (3865M) = used(1545M) + free(2320M)
第二部分(-/+ buffers/cache):
(-buffers/cache) used内存数:798M
(指的第一部分Mem行中的used – buffers – cached)
即为1545 – 176 – 569 = 800 取整时计算差异 2M
(+buffers/cache) free内存数: 3066M
(指的第一部分Mem行中的free + buffers + cached)
即为2320 + 176 + 569 = 3065 取整时计算差异 1M
第三部分是指交换分区
当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。这些被释放的进程被临时保存到Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。所以swap分区不被占用或者占用很少,说明现在系统内存够用,运行还算良好,不会影响系统运行。
free 命令数据由来
free命令显示了当前系统内存使用情况,其数据取自/proc/meminfo文件。这里我们cat 一下。可见,在这个文件中,数据的存储就是以KB为单位,所以free的默认值也是KB。