CentOS 6 下free命令

各参数含义:
total:总物理内存
used:已使用内存
free:完全未被使用的内存
shared:应用程序共享内存
buffers:缓存,主要用于目录方面,inode值等
cached:缓存,用于已打开的文件
-buffers/cache:应用程序使用的内存大小,used减去缓存值
+buffers/cache:所有可供应用程序使用的内存大小,free加上缓存值

其中:
total = used + free
-buffers/cache=used-buffers-cached,这个是应用程序真实使用的内存大小
+buffers/cache=free+buffers+cached,这个是服务器真实还可利用的内存大小

[oracle@cddserver1 ~]$ free -m
             total       used       free     shared    buffers     cached
Mem:         32096      10379      21717          0         38       7942
-/+ buffers/cache:       2398      29698
Swap:        34287          0      34287

这里面的第二行才是真正服务器的空闲内存

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

CentOS 7中 free命令

# free -m
              total        used        free      shared  buff/cache   available
Mem:           3440         213        2276         168         950        2778
Swap:             0           0           0
 

buffer和cached被合成一组,加入了一个available,关于此available,文档上的说明如下:

MemAvailable: An estimate of how much memory is available for starting new applications, without swapping.
即系统可用内存,之前说过由于buffer和cache可以在需要时被释放回收,系统可用内存即 free + buffer + cache,在CentOS7之后这种说法并不准确,因为并不是所有的buffer/cache空间都可以被回收。

available = free + buffer/cache - 不可被回收内存(共享内存段、tmpfs、ramfs等)

因此在CentOS7之后,用户不需要去计算buffer/cache,即可以看到还有多少内存可用,更加简单直观。

 

 CentOS 系统free命令 随笔

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄