- 论坛徽章:
- 0
|
Free 内存查看工具详细解析 Linux and Unix 命令手册 性能监控部分
本命令手册以实用,简洁为原则,对于已经消化的内容,不附加详细的注解。
磁针石
联系方式:
QQ:37391319 gmail and gtalk: xurongzhong@gmail.com
参考资料
*http://www.linux-cn.com/html/linux/other/20070508/29464.html
功能
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
Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。
buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.
cached是用来给文件做缓冲。
那就是说:buffers是用来存储,目录里面有什么内容,权限等等。
而cached直接用来记忆我们打开的文件
如果感兴趣可以进一步参考文件/proc/meminfo,free命令就是根据它的信息生成的。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 的参数比较简单,主要是涉及显示格式的,请参考帮助.
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21908/showart_433256.html |
|