Relevant part of the start up line: java -server -Xms10G -Xmx10G -XX:PermSize=1G -XX:MaxPermSize=1G
This instance ended up taking up 16GB of memory and 10GB of swap before killing the server.
Any ideas on what could cause that?
This is the only major application running on a RedHat system with 16GB RAM and 10GB swap.
My Guess would be runaway threads maybe, really probably better stack overflow on how to profile memory usage for a Java App and look for memory leaks.
Keep in mind that the options
-Xms
and-Xmx
are for heap only. There are other things that take up memory such as thread stacks etc. So maybe there were run away threads?You might want to look into ulimit for limit what this application can take, and start using something like Nagios to alert you when memory usage gets out of control. You running the jvm as root?