您的位置:首页 > 运维架构 > Linux

【每日一个Linux命令】free

2017-05-22 15:37 260 查看

查看linux系统内存使用情况

free -m  #以M为单位来显示内存数值,缺省时free的单位为KB




姑且我们把上图看成一个数组(Free Output,以下简称FO):

首先,第1行为列名,total-物理内存总量,used-已经使用掉的内存,free-剩余可用内存,shared-进程共享的内存占用(其值总是0),buffers-用于存放要输出到disk(块设备)的数据的占用,cache是存放从disk上读出的数据。这二者是为了提高IO性能的,并由OS管理。

其次,第2行:

FO[2][1] = FO[2][2] + FO[2][3] 即第2行1列的total值=第2行2列的used值+第2行3列的free值

FO[2][5]表示被OS buffer住的内存。FO[2][6]表示被OS cache的内存。

为了提高IO read的性能,总是要多cache一些数据,这也就是为什么FO[2][6](cached memory)比较大,而FO[2][3]比较小的原因。

对于FO[3][2],即-buffers/cache,表示一个应用程序认为系统被用掉多少内存;

FO[3][2] = FO[2][2] - FO[2][5] - FO[2][6]

对于FO[3][3],即+buffers/cache,表示一个应用程序认为系统还有多少内存;

FO[3][3] = FO[2][3] + FO[2][5] + FO[2][6]

因为被系统cache和buffer占用的内存可以被快速回收,所以通常FO[3][3]比FO[2][3]会大很多。

最后一行为交换分区空间的大小,linux只要不用swap的交换空间,就不用担心自己的内存太少。

如果常常swap用很多,可能你就要考虑加物理内存了。这也是linux看内存是否够用的标准。

参考:http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: