# cat /proc/[pid]/status
为了方便,我们把查找pid和看内存整合成一条命令,后面这将是我们唯一的测试工具。
cat /proc/`ps -ef|grep hello | grep -v grep | awk '{print $2}'`/status | grep -E 'VmSize|VmRSS|VmData|VmStk|VmExe|VmLib'
在这里我们关注VmSize|VmRSS|VmData|VmStk|VmExe|VmLib 这个6个指标,下面有一些简单的解释。
VmSize(KB) :虚拟内存大小。整个进程使用虚拟内存大小,是VmLib, VmExe, VmData, 和 VmStk的总和。
VmRSS(KB):虚拟内存驻留集合大小。这是驻留在物理内存的一部分。它没有交换到硬盘。它包括代码,数据和栈。
VmData(KB): 程序数据段的大小(所占虚拟内存的大小),堆使用的虚拟内存。
VmStk(KB): 任务在用户态的栈的大小,栈使用的虚拟内存
VmExe(KB): 程序所拥有的可执行虚拟内存的大小,代码段,不包括任务使用的库
VmLib(KB) :被映像到任务的虚拟内存空间的库的大小