我有一个巨大的RAM消耗Java进程,我正试图弄清楚他正在做什么这些内存.所以,我正在对这个PID做一个pmap -x,这里是结果的一部分:
Address Kbytes RSS Dirty Mode Mapping
0000000000001000 4 0 0 rw--- [ anon ]
0000000000400000 48 0 0 r-x-- java
000000000050b000 4 4 4 rw--- java
0000000003b9d000 264 224 212 rw--- [ anon ]
0000000003bdf000 2199556 1887992 1830160 rw--- [ anon ]
000000396c800000 112 108 0 r-x-- ld-2.5.so
000000396ca1c000 4 4 4 r---- ld-2.5.so
[...]
ffffffffff600000 8192 0 0 ----- [ anon ]
---------------- ------ ------ ------
total kB 7072968 4382820 4270104
Run Code Online (Sandbox Code Playgroud)
正如您在地址3BDF000上看到的那样,有一个2199556 KBytes和1830160 Dirty的映射.
在/ proc/10139/smaps中,可以看到更详细的信息:
03bdf000-89fe0000 …Run Code Online (Sandbox Code Playgroud)