Hello all,
I'm running Tomcat 6.0.16 on CentoOS 5, linked with native library. I deployed a Servelt, which on invocation executes an RMI call to a remote RMI server. Tomcat configured with max heap size of 2G After short time of running under heavy load, the memory consumption reported by top is close to 2G. jmap output is: Attaching to process ID 20248, please wait... Debugger attached successfully. Server compiler detected. JVM version is 1.6.0-b105 using thread-local object allocation. Parallel GC with 4 thread(s) Heap Configuration: MinHeapFreeRatio = 40 MaxHeapFreeRatio = 70 MaxHeapSize = 2147483648 (2048.0MB) NewSize = 1048576 (1.0MB) MaxNewSize = 4294901760 (4095.9375MB) OldSize = 4194304 (4.0MB) NewRatio = 2 SurvivorRatio = 8 PermSize = 16777216 (16.0MB) MaxPermSize = 268435456 (256.0MB) Heap Usage: PS Young Generation Eden Space: capacity = 582221824 (555.25MB) used = 0 (0.0MB) free = 582221824 (555.25MB) 0.0% used >From Space: capacity = 48103424 (45.875MB) used = 48079216 (45.85191345214844MB) free = 24208 (0.0230865478515625MB) 99.9496751000511% used To Space: capacity = 69402624 (66.1875MB) used = 0 (0.0MB) free = 69402624 (66.1875MB) 0.0% used PS Old Generation capacity = 1431699456 (1365.375MB) used = 1424597528 (1358.6020736694336MB) free = 7101928 (6.772926330566406MB) 99.50395119798104% used PS Perm Generation capacity = 35782656 (34.125MB) used = 28493056 (27.173095703125MB) free = 7289600 (6.951904296875MB) 79.62811927655677% used I've dump a file using jmap, and asked MemoryAnalyzer (www.eclipse.org/mat) to take a look. This tool reported that an instance of java.security.Policy retained 77.7% of the heap (552,569,816 bytes). I would like to ask whether this behavior seems normal? Thanks, Barak.