Linux free命令输出信息详解


先看一下free命令的输出:

[root@zfcg ~]# free -m
            total      used      free    shared    buffers    cached
Mem:        32101      15882      16219          0        459      13934
-/+ buffers/cache:      1488      30613
Swap:        15999          0      15999

1、free输出的第一行是从操作系统(OS)来看的。
计算机上一共有:
32101M的物理内存;

在这些物理内存中有15882M被使用了;对于OS来说,buffers和cached 都是属于已使用的,

还用16219M是可用的;

2、free输出的第二行-/+ buffers/cache,是从应用程序角度来看,
应用程序认为系统一共使用了1488M=15882-459M(buffers)-13934M(cached)

还有30613M是可用的,=16219+459+13934

对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需要用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached

3、从上可知,当前系统的内存使用率是:(1-30613M/32101)×100%=4.64%

4、buffer是用于存放要写入磁盘的数据的,而cache是存放从磁盘中读出的数据。

相关内容