首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在linux procstat中,RES和PRES字段之间有什么区别?

在linux procstat中,RES和PRES字段之间有什么区别?
EN

Stack Overflow用户
提问于 2012-11-30 21:55:41
回答 1查看 319关注 0票数 5

以下是procstat输出的安全性:

代码语言:javascript
复制
  PID              START                END PRT  RES PRES REF SHD FL TP PATH
36502           0x400000           0x45d000 r-x   77    0  23  11 CN vn /usr/local/sbin/httpd
36502           0x65c000           0x660000 rw-    3    3   2   1 CN vn /usr/local/sbin/httpd
36502           0x660000           0x800000 rw-    5    4   2   1 CN sw
36502        0x80065c000        0x800693000 r-x   25    0  83  32 CN vn /libexec/ld-elf.so.1

RES(驻留页面)和PRES(私有常驻页面)之间的主要区别是什么?是关于共享的和私人的记忆吗?

还有一个所谓的映射标志(CN)。据我所知,这些标志适用于每页基础知识,而不是整个内存段,因为标记为在写上复制的是页面,而不是分段。,那么为什么procstat会显示整个段呢?

另一个问题是-,我可以从这个输出中找出,实际复制了多少页(在写复制过程中),以及父进程中还剩下多少页?

拜托,你能帮我弄清楚这些东西吗?我会非常感激的,谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-02-14 02:38:17

procstat(1)是一个FreeBSD实用程序,用于获取详细的过程信息。类似的工具存在于Linux,但有与您问题中的输出不同的特定于Linux的字段。此输出必须来自FreeBSD系统,因为字段在Linux子系统的上下文中没有意义。

要回答你的具体问题:

  1. RES是驻留页计数,而PRES是进程私有阴影对象1的驻留页计数。当VM对象被复制2时,影子对象被创建,并且进程可能请求进行私有副本,这样其他映射文件的进程或文件本身都看不到更改。
  2. 映射标志应用于映射的内存对象,而不是直接应用于页。有些对象类型可能不是在写上复制,但是vnodes和交换(如您的输出所示)是。1
  3. 我认为您要问的是“与父级共享的页面数量,以及有修改过的页面副本的数量?”在此输出中,您可以看到其他23个mmap对象引用httpd文本。这些可能是子httpd进程以及此进程的数据段。

参考资料

1

2

3.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13653767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档