文章目录
1.Mem 解析buffers 与cached的区别?
2.-/+ buffers/cache 解析3.Swap 解析
free是一个可以为我们提供linux机器可用RAM(内存)很有价值的一个常用命令,很多linux新手或者运维人员会误解它,让我们一起来揭开它的神秘面纱吧!
free的输出结果如下,默认表示这些数字都是以KB为单位的,如果想输出可读的可以加上-h 、-m等参数
[dev@DC-dev-datanode-01 ~]$ free
total used free shared buffers cached
Mem: 16467080 10999040 5468040 544 231280 646008
-/+ buffers/cache: 10121752 6345328
Swap: 0 0 0
1.Mem 解析
对应的数值参数名称含义
16467080total当前机器总共可用的内存数,由于使用了-m 参数,所以该数值是以MB为单位10999040used已经被使用的内存,包含buffers和cached5468040free空余的内存544shared表示多个进程共享内存231280buffers在linux系统中为不同应用缓冲数据所使用的内存数646008cached为将来快速访问为目的而缓存数据使用的空间
buffers 与cached的区别?
buffers:是存储特定应用程序数据的临时位置,任何其他应用程序都不会使用此数据。类似于带宽,当您尝试通过 网络发送大量数据时,如果您得带宽很小,只能发送很少的数据时,系统会将这些还未发送的数据保存在buffer里面, 以便可以以较低的速度不断的发送数据。 cached:是存储常用的数据以便更快访问的位置。 不同点:cache里面的数据可以多次使用,而buffer是一次性的。 相同点:两者都是临时存储,用于数据处理。
2.-/+ buffers/cache 解析
对应的数值参数名称含义
10121752- buffers/cache真实被系统或应用程序所使用的内存,计算公式:used - (buffers + cache),10999040 - 231280 - 646008= 101217526345328+ buffers/cache真实可以使用的内存,计算公式:total - (上面真实被使用掉的内存),16467080- 10121752 = 6345328
tips: 1.为什么在Mem:那一行中的used 显示的是10999040呢?是因为linux 把cached 和buffered 内存也统计到里面去了,当时将来如果任何应用程序想使用内存,linux将为您释放掉cached和buffered。 2.不要抱怨linux占用了您太多的内存,这是误解free 这个老铁了,如果有人问您现在服务器可用的内存是多少时,您应该说6345328 kb而不是第一行的10999040 kb。
3.Swap 解析
Swap 行标识交换详细信息,如swap的总大小,已经使用的swap大小和空闲的swap空间,Swap是在磁盘上创建的虚拟内存,可虚拟增加内存大小。