How to identify individual object's location in JVM heap space
csxulijie at gmail.com
Thu Aug 22 18:46:28 PDT 2013
Hi, all. With the help of jmap or other tools, we can dump heap objects at
a specific time. Then we can find out both the number and size of the
At this point, I would like to know the heap location (Eden, S0/S1, or Old)
of each object. But I cannot find any related information in the heap dump.
How to identify? I really need this information in my project.
I think there is a way to know the address of each object and address
boundary of each space, since GC algorithms have methods to scan objects in
a specific space.
I also noticed that there are some address information generated by
+PrintGCDetails about each space. For example,
def new generation total 153600K, used 152935K [0x14710000, 0x1edb0000,
eden space 136576K, 100% used [0x14710000, 0x1cc70000, 0x1cc70000)
from space 17024K, 96% used [0x1dd10000, 0x1ed09f60, 0x1edb0000)
to space 17024K, 0% used [0x1cc70000, 0x1cc70000, 0x1dd10000)
tenured generation total 341376K, used 341220K [0x1edb0000, 0x33b10000,
the space 341376K, 99% used [0x1edb0000, 0x33ae9160, 0x33ae9200,
compacting perm gen total 12288K, used 188K [0x33b10000, 0x34710000,
the space 12288K, 1% used [0x33b10000, 0x33b3f2c0, 0x33b3f400,
ro space 10240K, 42% used [0x37b10000, 0x37f50348, 0x37f50400,
rw space 12288K, 54% used [0x38510000, 0x38b906f0, 0x38b90800,
What's the exact meaning of these multiple address?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-gc-dev