pmap 的 RSS 和 htop 的 RES 相同吗?
我运行以下简单程序
#include <stdio.h>
#include <stdlib.h>
int
main() {
malloc(1024*1024*32);
getchar();
return 0;
}
htop
给出这个
VIRT RES SHR
36684 312 240
pmap -x
给出这个
Address Kbytes RSS Dirty Mode Mapping
0000000000400000 0 4 0 r-x-- a.out
0000000000600000 0 4 4 r---- a.out
0000000000601000 0 4 4 rw--- a.out
00007f063d3b7000 0 4 4 rw--- [ anon ]
00007f063f3b8000 0 228 0 r-x-- libc-2.12.1.so
00007f063f532000 0 0 0 ----- libc-2.12.1.so
00007f063f731000 0 16 16 r---- libc-2.12.1.so
00007f063f735000 0 4 4 rw--- libc-2.12.1.so
00007f063f736000 0 12 12 rw--- [ anon ]
00007f063f73b000 0 108 0 r-x-- ld-2.12.1.so
00007f063f93d000 0 12 12 rw--- [ anon ]
00007f063f958000 0 8 8 rw--- [ anon ]
00007f063f95b000 0 4 4 r---- ld-2.12.1.so
00007f063f95c000 0 4 4 rw--- ld-2.12.1.so
00007f063f95d000 0 4 4 rw--- [ anon ]
00007fff4b298000 0 12 12 rw--- [ stack ]
00007fff4b2d7000 0 4 0 r-x-- [ anon ]
ffffffffff600000 0 0 0 r-x-- [ anon ]
---------------- ------ ------ ------
total kB 36684 432 88
htop
和 pmap
显示相同的虚拟大小(36684),但它们显示物理内存的不同内容(htop
的 RES
= 321 和 pmap
的 RSS = 432)。
也许我混淆了一些东西,但是 htop
的 RES
和 pmap
的 RSS
之间有什么区别吗?
I run the following simple program
#include <stdio.h>
#include <stdlib.h>
int
main() {
malloc(1024*1024*32);
getchar();
return 0;
}
htop
gives this
VIRT RES SHR
36684 312 240
pmap -x
gives this
Address Kbytes RSS Dirty Mode Mapping
0000000000400000 0 4 0 r-x-- a.out
0000000000600000 0 4 4 r---- a.out
0000000000601000 0 4 4 rw--- a.out
00007f063d3b7000 0 4 4 rw--- [ anon ]
00007f063f3b8000 0 228 0 r-x-- libc-2.12.1.so
00007f063f532000 0 0 0 ----- libc-2.12.1.so
00007f063f731000 0 16 16 r---- libc-2.12.1.so
00007f063f735000 0 4 4 rw--- libc-2.12.1.so
00007f063f736000 0 12 12 rw--- [ anon ]
00007f063f73b000 0 108 0 r-x-- ld-2.12.1.so
00007f063f93d000 0 12 12 rw--- [ anon ]
00007f063f958000 0 8 8 rw--- [ anon ]
00007f063f95b000 0 4 4 r---- ld-2.12.1.so
00007f063f95c000 0 4 4 rw--- ld-2.12.1.so
00007f063f95d000 0 4 4 rw--- [ anon ]
00007fff4b298000 0 12 12 rw--- [ stack ]
00007fff4b2d7000 0 4 0 r-x-- [ anon ]
ffffffffff600000 0 0 0 r-x-- [ anon ]
---------------- ------ ------ ------
total kB 36684 432 88
htop
and pmap
show the same virtual size(36684), but they shows different things for physical memory (htop
's RES
= 321 and pmap
's RSS
= 432).
Maybe I confuse something but is there any difference between htop
's RES
and pmap
's RSS
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因此,从 top 的手册页中我们看到:
对于 pmap:
因此它们似乎是同一件事。但实际上,如果你也检查 ps,你会发现 htop 将显示与 ps 的 RSS 相同的 RES。问题是 ps 在 man 中提到他们显示的测量有点不同:
这就是 ps 和 pmap 之间的区别,而 htop 和 pmap 实际上是相同的。
So, from the man page for top we see that:
and for pmap:
So they seem to be the same thing. But actually, if you also check with ps you will see that htop will show the same RES as ps's RSS. The thing is that ps mentions in the man that they show a measurement a little bit different:
So that would be the difference between ps and pmap and it's actually the same for htop and pmap.