先看一下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是存放從磁盤中讀出的數據。