Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19881779
  • 博文数量: 679
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 9308
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-18 10:51
文章分类

全部博文(679)

文章存档

2012年(5)

2011年(38)

2010年(86)

2009年(145)

2008年(170)

2007年(165)

2006年(89)

分类: LINUX

2007-11-30 10:54:44

Free 内存查看工具详细解析       Linux and Unix 命令手册 性能监控部分

本命令手册以实用,简洁为原则,对于已经消化的内容,不附加详细的注解。

磁针石

联系方式: QQ:37391319 gmail and gtalk: xurongzhong@gmail.com

参考资料

功能

display information about free and used memory on the system语法

 

 

常用用法

     M为单位查看内存使用情况

 

# free -m

             total       used       free     shared    buffers     cached

Mem:          1008        994         14          0         50        582

-/+ buffers/cache:        361        646

Swap:         1992         76       1915

 

total = used + free 

share这个值现在已经不使用

-buffers/cache 的内存数:361  (等于第1行的 used - buffers - cached)  表示应用程序使用的内存

+buffers/cache 的内存数: 646 (等于第1行的 free + buffers + cached) 表示应用程序可用的内存

 

为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer CachePage Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。

buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.
cached
是用来给文件做缓冲。

那就是说:buffers是用来存储,目录里面有什么内容,权限等等。
cached直接用来记忆我们打开的文件

 

如果感兴趣可以进一步参考文件/proc/meminfofree命令就是根据它的信息生成的。free命令的源码可从procps-xxx-.src.rpm获取,xxx为版本号,比如procps-3.2.3-5.3.src.rpm

 

参考内核代码:

 

arch/i386/mm/init.c

 

fs/proc/proc_misc.c

 

include/linux/swap.h

 

mm/filemap.c

 

fs/buffer.c

 

另外还可以参考O'REILLY的书《Understanding the LINUX KERNEL

 

 

     2s刷新一次

# free -s 2

             total       used       free     shared    buffers     cached

Mem:       1032536    1017900      14636          0      51856     595368

-/+ buffers/cache:     370676     661860

Swap:      2040244      79052    1961192

 

 

命令参考

Free 的参数比较简单,主要是涉及显示格式的,请参考帮助.

阅读(5609) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~