连接top、ps、/proc/pid/statm、/proc/pid/status、/proc/pid/smaps报告的各种进程属性

连接top、ps、/proc/pid/statm、/proc/pid/status、/proc/pid/smaps报告的各种进程属性

以下是我发现的一些常见属性:

top(VIRT)、smem(VSS)、/proc/pid/statm(页面中的第一个条目)、/proc/pid/status (VmSize)、ps(VSZ)

top(RES)、smem(RSS)、/proc/pid/statm(页面中的第二个条目)、/proc/pid/status (VmRSS),添加所有 Rss:/proc/pid/smaps 进程映射中的值,添加所有/proc/pid/smaps 进程映射中的 Private_.* + Shared_.* 值,ps(RSS)

顶部(数据),smem未报告, /proc/pid/statm (页中的第 6 个条目), /proc/pid/status (VmData),ps没有报道过

顶部(代码),smem未报告, /proc/pid/statm (页中的第四个条目),/proc/pid/status 未报告,ps没有报道过

顶部(SHR),smem未报告, /proc/pid/statm (页面中的第三个条目),/proc/pid/status 未报告,ps没有报道过

smem(USS),添加 /proc/pid/smaps 进程映射中的所有 Private_.* 值

smem(PSS),添加 /proc/pid/smaps 进程映射中的所有 Pss: 值

smem(Swap),添加 /proc/pid/smaps 进程映射中的所有 Swap: 值

顶部(SWAP) = 顶部(VIRT) - 顶部(RES)

问题: 是否还有其他我在上面遗漏的关系(如上所述)?你能分享一下吗?

答案1

ps、top 和 smem 程序都从 /proc 获取数据。也许您喜欢查看源代码以获取确切的详细信息。这些细节多年来已经发生了变化,并且可能会继续变化。

smem 程序是一个 Python 脚本。以下是 smem 中的字段列表:http://selenic.com/repo/smem/file/43b299004079/smem#l271

Linux 从 procps 包中获取 top 和 ps。这是顶部的字段列表:http://procps.cvs.sourceforge.net/viewvc/procps/procps/top.c?revision=1.134&view=markup#l1223

这是 ps 中的字段列表:http://procps.cvs.sourceforge.net/viewvc/procps/procps/ps/output.c?revision=1.65&view=markup#l1286

相关内容