I am novice to java memory issues and facing problems while debugging the memory usage of a java process and need your help. As per "top", the java process is taking 8G of Resident memory and 9.4G of virtual memory. This is too much for what the process does and I want to check why it is eating away the memory. So I took a heap dump using jmap (without the 'live' option as it may trigger GC) and found that only 100MB of live objects are present and there are 1.5G of unreachable objects. So where is the rest of 6G memory going? What are the other types of non-heap memory i should check? Also, can you help me with any tools / unix commands for find this out?
JVM args : -Xms is 2G and -Xmx is 8G
Please let me know if I should add more information here to give you more context.
Thanks in Advance.