VM starts swapping even though there are still more unused heap space
843829Jan 9 2006 — edited Feb 1 2006Hi,
We are running a Java 1.5 VM on a Linux AMD64 with 32 GB physical memory using the following settings:
-Xmx24000M
-Xms24000M
-verbose:gc
-XX:+PrintGCTimeStamps
-Dsun.rmi.dgc.client.gcInterval=72000000
-Dsun.rmi.dgc.server.gcInterval=72000000
-d64
The nature of the program is such that a large amount of objects is created to be stored in memory. Therefore, a lot of minor GCs occur initially when objects are loaded into memory.
About 40% into total memory usage, the GCs start getting unusually long and a lot of swapping starts occuring. No other processes are running to take up memory.
My question is: why is it swapping when there are still a lot of unused heap space available? Is there anything I can do to investigate this behavior? (I am using VisualGC to observe GCs)
Any comments much appreciated.
Thanks, Adrian.