快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

和记娱h188下载app手机版:通过Linux内核观察procpidstatm



输出解释

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

参数 解释 /proc//status

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

Resident(pages) 利用法度榜样正在应用的物理内存的大年夜小 VmRSS/4

Shared(pages) 共享页数 0

Trs(pages) 法度榜样所拥有的可履行虚拟内存的大年夜小 VmExe/4

Lrs(pages) 被映像到义务的虚拟内存空间的库的大年夜小 V和记娱h188下载app手机版mLib/4

Drs(pages) 法度榜样数据段和用户态的栈的大年夜小 (VmData+ VmStk )4

dt(pages) 脏页数量

经由过程内核代码,我们可以加倍清楚的懂得其含义:

显示该信息主如果经由过程 proc_pid_statm 该函和记娱h188下载app手机版数来实现的。假如对proc的机制不懂得,请参考《linux设备驱动法度榜样》。

其调用历程:proc_pid_statm->statm_pmd_range->statm_pte_range。目的是从地址区间徐徐转化成详细的每个页表。涉猎代码,只需懂得一个和记娱h188下载app手机版大年夜概,不用懂得很多细节,要比写起来轻松许多。

此中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;//只有和记娱h188下载app手机版页表中含有present标记的,谋略在内。

if (pte_dirty(page))

++*dirty;//页表中dirty标记,谋略在内。

if (page_count(pte_page(page)) > 1)

++*shared;//页表的所有者跨越1的,就觉得共享。

} while (address vm_flags & VM_EXECUTABLE)//该线性区间的flags标志为可履行。

trs += pages; /* text */

else if (vma->vm_flags & VM_GROWSDOWN)//该线性区间的flags标志为向下增长。

drs += pages; /* stack */

else if (vma->vm_end > 0x60000000)//和记娱h188下载app手机版结尾线性地址大年夜于0x60000000。

lrs += pages; /* library */

else//这块区间应该是数据区与堆。

drs += pages;

vma = vma->vm_next;

}

pages=trs+drs+lrs

是以说,trs drs lrs 与totals,pages,shared,dirty两组,分手从两个角度察看内存。

(T002)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: