free命令统计出来的内存非常具有迷惑性,现在总结如下:
第一部分Mem行:
Total 内存总数:7863M
Userd 已经使用的内存使用总数:7039M
Free 剩余的内存总数:823M
Share 当前已经废弃不用的内存总数:0
Buffers 当前被使用的缓存大小:583M
Cached 当前被使用的缓存大小:6203M
Buffer与Cached的区别
Buffer是块设备之间的缓存
Cached 是对文件数据的缓存,经常被访问的文件就会被cache,提高文件的访问效率;
第二部分(-/+ buffers/cache)
-buffers/cache 实际使用的内存大小,计算公式为:used – buffers – cached=7039 – 823 – 6203 = 253,与命令计算的结果一致
+buffers/cache实际可使用的内存大小,计算公式为:free + buffers + cached = 823 + 583 + 6203 = 7609,与命令计算的结果吻合(不完全吻合是因为计算约等于的关系)
Swap:磁盘交换分区被使用情况,如果swap经常被换入和换出,说明当前的内存已经严重不够用,需要分析程序的内存使用情况或者考虑增加物理内存。查看swap的换入换出的命令可使用vmstat