I have a Java process running on a linux VM and I'm trying to figure out where all of the resident memory is going. The RES size is 1.7GB while the components of what should be resident are around 400MB.
Sizes of memory components from visualvm:
Heap ~ 300mb
PermGen ~ 40Mb
Thread Stacks ~ 64mb
Shared libraries ~ ?
The output of top:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
28488 root 16 0 2627m 1.7g 32m S 51 21.5 2146:21 java
Can anybody provide details on the relationship between a running Java virtual machine and the RES size from the top command? Cant figure out why the process image is so large.