我试图弄清楚如何计算 PSS 是 Android。
我发现一篇文章陈述了以下内容。
进程的“比例集大小”(PSS)是它在内存中的页数,其中每个页除以共享它的进程数。因此,如果一个进程自己拥有 1000 个页面,并与另一个进程共享 1000 个页面,则其 PSS 将为 1500
我的第一个问题是,以上信息准确吗?如果没有,有人可以告诉我它是如何计算的吗?
另外,这个值是千字节还是“PSS”本身就是一个单位?
我试图弄清楚如何计算 PSS 是 Android。
我发现一篇文章陈述了以下内容。
进程的“比例集大小”(PSS)是它在内存中的页数,其中每个页除以共享它的进程数。因此,如果一个进程自己拥有 1000 个页面,并与另一个进程共享 1000 个页面,则其 PSS 将为 1500
我的第一个问题是,以上信息准确吗?如果没有,有人可以告诉我它是如何计算的吗?
另外,这个值是千字节还是“PSS”本身就是一个单位?
是的,这些信息是准确的,这正是它的计算方式。(LWN.net 文章在这里;请注意,参与您链接到该线程的 Matt Mackall 开发了该功能。)
PSS 以千字节为单位,与您获得的所有其他信息一样/proc/<pid>/smaps
。它的单位来自它的计算方式。
(/proc/pid/smaps 中给定进程的 PSS 值多久更新一次,有一些关于 PSS 计算位置和方式的指针 - 免责声明:我在那里写了答案。在Unix 和 Linux上还有一些其他帖子讨论PSS 和相关指标。)