The other day I ran out of diskspace in a server on which I ran a Mule 3.7 instance. After some searching I found some quite large files in the $MULE-HOME/bin directory which turned out to be heap-dump files.
The cause for this turned out to be an additional wrapper parameter that is present in the default wrapper.conf file in $MULE-HOME/conf as distributed by MuleSoft, both in the CE and EE versions:
wrapper.java.additional.9=-XX:+HeapDumpOnOutOfMemoryError
The remedy is either to remove this additional parameter (don’t forget to fix the numbering on the subsequent parameters!) or to get a really big disk.
Update:
Some further research has showed that:
- The above wrapper parameter was added as part of an effort to add default performance parameters to the wrapper.conf file.
See MULE-8641. I don’t know where the HeapDumpOnOutOfMemoryError came from though. - The reason why there were several heap dump files is because the service wrapper used to start the Mule instance will, unless configured otherwise, automatically restart a crashed or unresponsive JVM.
This is all good and well but in combination with heap dumps to disk it has a good chance of becoming the next hot disk-filler.