We have our production running under Red ha Linux environment. We are using JDK 1.5.19 version. We are using Tomcat 6.0.18 as our web server.
What we observe is, the heap dump size and the resident memory sizes are not matching at all. If the Resident memory(RES) size is at 2GB, the heap dump size is 220MB. We are having a huge performance hit due to this.
Is this normal pattern or are we facing memory leak? We have analyzed the heap dump and fixed few issues in it. However, what we think is, memory is leaking not in the heap but some where else. Please can somebody help us on this.
Thanks for your reply.
I am producing the heap dump by following method:
kill -3 <pid>
After the above command, a heap dump in being produced in hprof format
We are using Eclipse Memory Analyzer tool to analyze the heap dump. Initially, It has shown few leak suspects which I have fixed. Now, the heap seems to be OK. However, the size of the Resident memory is alarming and not matching with the size of the heap dump.
My question is: Is there are any relation between the Resident size and the heap dump size for java process on Linux systems? For us, the Resident memory size is 2GB where as the heap dump size is about 300MB. Is this normal or do you see any issues with this?