观察Linux内核,通过linux内核观察-proc-pid-statm

62e50291a81fc54b507f33cb80033297.gif 通过linux内核观察-proc-pid-statm

(4页)

c873a91e5723ccfc6766bb1ee1094344.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

9.9 积分

通过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的是通过虚拟地址的页表来进行判断。do {  pte_t page = *pte;  struct page *ptpage;  address += PAGE_SIZE;  pte++;  if (pte_none(page))    continue;  ++*total;       //是合法的页都计算在内。  if (!pte_present(page))continue;  ptpage = pte_page(page);  if ((!VALID_PAGE(ptpage)) || PageReserved(ptpage))    continue;  ++*pages;      //只有页表中含有present标记的,计算在内。  if (pte_dirty(page))    ++*dirty;    //页表中dirty标记,计算在内。  if (page_count(pte_page(page)) > 1)    ++*shared;    //页表的所有者超过1的,就认为共享。} (struct task_struct *task, char * buffer)。。。。。a) {。。。。。。。。。。。  if (vma->vm_flags VM_EXECUTABLE)   //该线性区间的flags标志为可执行。    trs += pages; /* text */  else if (vma->vm_flags VM_GROa->vm_end > 0x60000000)   //结尾线性地址大于0x60000000。    lrs += pages; /* library */  else    //这块区间应该是数据区与堆。    drs += pages;   vma = vma->vm_next;}pages=trs+drs+lrs  因此说,trs drs lrs 与totals,pages,shared,dirty两组,分别从两个角度观察内存。 友情提醒:,特别! 关 键 词: 通过 linux 内核 观察 proc pid statm

524d6daf746efaa52c3c71bbfe7ba172.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值