这是procstat输出的安全性:
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
Run Code Online (Sandbox Code Playgroud)
RES(驻留页面)和PRES(私有驻留页面)之间的主要区别是什么?与共享和私有内存有关吗?
并且有一个所谓的映射标志(CN)。据我了解,这些标志适用于每页基础知识,而不适用于整个内存段,因为标记为“写时复制”而不是段的页面。那么为什么procstat在整个段中显示它?
另一个问题是- 我可以从此输出中算出(写时复制过程中)真正复制了多少页面,父过程中还剩下多少页面?
请,你能帮忙弄清楚所有这些东西吗?我将非常感谢,谢谢
procstat(1)是一个 FreeBSD 实用程序,用于获取详细的进程信息。Linux 上有一个类似的工具,但具有与您问题中的输出不同的 Linux 特定字段。此输出必须取自 FreeBSD 系统,因为这些字段在 Linux VM 子系统的上下文中没有意义。
回答您的具体问题:
参考
[1] http://freebsd.1045724.n5.nabble.com/proc-filesystem-td5719455.html
[2] https://developer.apple.com/library/mac/documentation/Darwin/Conceptual/KernelProgramming/vm/vm.html
[3] http://www.freebsd.org/cgi/man.cgi?query=mmap&sektion=2