I've a test system where I see the tenured heap usage increase to 100% and then fall back to ~50%. This keeps happening continuously.
The application is started with following JVM args:
-Xms512M -Xmx512M -ea -XX:OnOutOfMemoryError=/bin/kill -9 %p
I don't see any logs that generally appear on application restart.
Why are you killing the process on
OutOfMemoryError
? Instead why don't you collect the heap dump file and see why it's full?and open the resulting dumpfile with Eclipse MAT.
Also, I think the option needs to be quoted:
In reference to your question: No, the process will not restart - it will just terminate when the tenured heap is filled.