这是一篇关于Linux内存measuring的基础教程。除了free之外,我们可以通过/proc得到更多信息。它们是/proc下的maps,smaps 和statm。
'free' and /proc
'free' 会显示机器上的内存使用信息。能实时跟踪整个系统内存的使用情况。
$ free total used free shared buffers cachedMem: 507564 481560 26004 0 68888 185220-/+ buffers/cache: 227452 280112Swap: 2136604 105168 2031436
除了free命令之外,/proc/meminfo能够提供更多的信息。以下就是一个例子: 512 Mb RAM, 运行在 Linux 2.6.3:
测量用户进程的内存使用:
'ps' 关于内存信息解释'ps' 能够提供内存信息情况。比如:
BJATCA01sta1:/proc/3105(8)#ps -p 3129 -o pid,rss,vsz,commPID RSS VSZ COMMAND
3129 23100 213664 GAM
· %Mem - 内存使用百分比
· VSZ - Virtual Size
· RSS - Resident Set Size
· SIZE - Equivalent to VSZ
'top' 显示信息可参见 'man top':· %MEM -- Memory usage (RES) 进程当前使用的物理内存。
· VIRT -- Virtual Image (kb) 进程整个virtual memory空间,VIRT = SWAP + RES
· SWAP -- Swapped size (kb) virtual memory交换到disk或者没有加载到物理内存里的空间。
· RES -- Resident size (kb) 进程驻留在内存里面的内存大小, RES = CODE + DATA.
· CODE -- Code size (kb) 加载到内存里面的可执行文件代码
· DATA -- Data+Stack size (kb) 加载到内存里面的数据和栈
· SHR -- Shared Mem size (kb) 共享内存大小