为什么/proc/$$/smaps 中的Rss 字段之和与/proc/$$/stat 中的第24 个字段不同?
Why does the sum of the Rss fields in /proc/$$/smaps differ from the 24th field in /proc/$$/stat?
据我了解,
返回的值
(1) awk '/Rss:/{ sum += } END { print sum }' /proc/$$/smaps
和
(2) cat /proc/$$/stat | cut -d " " -f24
应该是相等的,为什么不是这样呢?
它们实际上是 4 的因数,所以 (1)/4 = (2) 从我测试的所有内容来看
可在 man 5 proc
找到文件的详细信息
uname -a: Linux home-server 4.4.0-78-generic #99-Ubuntu SMP Thu Apr 27 15:29:09 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
stat 文件中的 rss 字段以页为单位。大多数硬件上的页面大小为 4096 字节。由于您将其与以千字节为单位的字段进行比较,因此您可以轻松地看到如何得到 4 倍的差异:4096 / 1024 = 4.
据我了解,
返回的值(1) awk '/Rss:/{ sum += } END { print sum }' /proc/$$/smaps
和
(2) cat /proc/$$/stat | cut -d " " -f24
应该是相等的,为什么不是这样呢?
它们实际上是 4 的因数,所以 (1)/4 = (2) 从我测试的所有内容来看
可在 man 5 proc
uname -a: Linux home-server 4.4.0-78-generic #99-Ubuntu SMP Thu Apr 27 15:29:09 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
stat 文件中的 rss 字段以页为单位。大多数硬件上的页面大小为 4096 字节。由于您将其与以千字节为单位的字段进行比较,因此您可以轻松地看到如何得到 4 倍的差异:4096 / 1024 = 4.