JVM sets to 1024m but the process is consumming 3Gb of memory, how?
807567Feb 3 2010 — edited Aug 8 2011Hi,
I'm trying to understand the ouput the command of the "pmap -x <PID>" with the settings of my JVM, I hope someone can help me.
I have a JAVA process started in the following way:
java -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -X:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled ...
But whe I look at the output of the command "pmap -x 8275", I have the following:
total KB 3276024 3153800 9634000
I don't understand the gap between the memory settings in my JVM process and the memory consumed through pmap.
If I look further in pmap -x output I can see the following:
00400000 1630208 1629088 275800 - rwx-- [ heap ]
--> I guess this is my JVM memory consumption
But then I have the following
AB800000 995328 940592 482256 - rwx-- [ anon ]
--> I don't know what this is?
So my questions could be:
is my first assumption about pmap (address space 00400000) is right? this address space is the JVM heap
How could I find out what is using almost 1Gb of memory at AB800000?
More generally how can I map the memory use by a java process through pmap?
For info, my system is a M5Kserver
Uname -a output is: SunOS 5.10 Generic_139555-08 sun4u sparc SUNW,SPARC-Enterprise
java version is 1.5.0_12 (build 1.5.0_12-b04)
Other info: I'm not root on this machine so I'm not sure I could run any DTrace script
Thanks for your help