Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2860005
  • 博文数量: 471
  • 博客积分: 7081
  • 博客等级: 少将
  • 技术积分: 5369
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 21:55
文章分类

全部博文(471)

文章存档

2014年(90)

2013年(69)

2012年(312)

分类: LINUX

2012-01-17 21:36:51

下面是free的运行结果,一共有4行。为了方便说明,我们加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如:

  • FO[2][1] = 999212
  • FO[3][2] = 305404  

                        1     2      3     4       5      6
1
                     total  used   free  shared buffers cached
2 Mem:                999212 967476 31736   0    50668   223000
3  -/+ buffers/cache: 693808 305404
4 Swap:              2048276 154524 1893752 

第四行为交换区的信息,分别是交换的总量(total),使用量(used)和有多少空闲的交换区(free)

第二行:total 内存总数: 999212  used 已经使用的内存数: 967476  free 空闲的内存数: 31736   
        shared 当前已经废弃不用,总是0   buffers Buffer Cache内存数: 
50668   
        cached Page Cache内存数: 223000   
  • 999212KB(缺省时free的单位为KB)物理内存,即FO[2][1];
  • 在这些物理内存中有967476KB(即FO[2][2])被使用了;
  • 还用31736KB(即FO[2][3])是可用的; 
  • A buffer is something that has yet to be "written" to disk.
  • A cache is something that has been "read" from the disk and stored for later use.

也就是说buffer是用于存放要输出到disk(块设备)的数据的,而cache是存放从disk上读出的数据。这二者是为了提高IO性能的,并由OS管理。Linux和其他成熟的操作系统(例如windows),为了提高IO read的性能,总是要多cache一些数据,这也就是为什么FO[2][6](cached memory)比较大,而FO[2][3]比较小的原因。

第三行:

-/+ buffers/cache的意思相当于:
-buffers/cache 的内存数:693808 (等于第1行的 used - buffers - cached)
+buffers/cache 的内存数: 
305404 (等于第1行的 free + buffers + cached)

可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数

阅读(1073) | 评论(0) | 转发(0) |
0

上一篇:查看进程ps

下一篇:linux top命令详解(转)

给主人留下些什么吧!~~