先看一下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是存放从磁盘中读出的数据。