关于Linux内存查看时free的解释

昨天把我们的Linux服务器搭建起来之后,发现free -m后,竟然free列数值好少哦:

以上几列,说明我的机器有6g内存,我原本以为free是我们的可用内存,可我的服务器其实打开的应用不多啊,所以很费解,Google了下,找到了如下解释:
第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别
  • Mem行,从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是2975M,已用内存是2947M
  • 第三行,从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用的角度出发,其实可用内存是
5238M≈2975M+179M+2083M(换成KB的话应该就是相等了)
所以我当前应用消耗的内存,应该是:
684M=5922M-5238M(这下应该靠谱了

你可能感兴趣的:(关于Linux内存查看时free的解释)