设为首页 加入收藏

TOP

通过Linux内核来观察/proc/pid/statm
2014-11-23 20:20:14 来源: 作者: 【 】 浏览:29
Tags:通过 Linux 内核 观察 /proc/pid/statm

输出解释


CPU 以及CPU0。。。的每行的每个参数意思(以第一行为例)为:


参数 解释 /proc//status


Size (total pages) 任务虚拟地址空间的大小 VmSize/4


Resident(pages) 应用程序正在使用的物理内存的大小 VmRSS/4


Shared(pages) 共享页数 0


Trs(pages) 程序所拥有的可执行虚拟内存的大小 VmExe/4


Lrs(pages) 被映像到任务的虚拟内存空间的库的大小 VmLib/4


Drs(pages) 程序数据段和用户态的栈的大小 (VmData+ VmStk )4


dt(pages) 脏页数量



通过内核代码,我们可以更加清楚的了解其含义:



显示该信息主要是通过 proc_pid_statm 该函数来实现的。如果对proc的机制不了解,请参考《linux设备驱动程序》。



其调用过程:proc_pid_statm->statm_pmd_range->statm_pte_range。目的是从地址区间逐渐转化成具体的每个页表。阅读代码,只需了解一个大概,不用了解很多细节,要比写起来轻松许多。



其中totals,pages,shared,dirty的是通过虚拟地址的页表来进行判断。





因此说,trs drs lrs 与totals,pages,shared,dirty两组,分别从两个角度观察内存。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Fedora中Mplayer编译安装祥解 下一篇Linux操作系统上架设VSFTP服务器..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: