How to get heap dumps


Heap dumps are used by Boomi support to get a more detailed view of what an basic runtime or runtime cluster node was doing at the time of the dump. When you ask an basic runtime or runtime cluster node to do a heap dump you are telling the java virtual machine to dump all the data in memory it's currently using to a file. This will result in a potentially very large file.

You have two ways you can generate a heap dump

Manually with the instructions in this KB
/boomi_community?id=kb_article_view&sys_kb_id=2e8e823c25f3fe10ba0e94c6835b303d 


Or you can follow the instruction below to configure your basic runtime or runtime cluster to do a heap dump when a low memory or out of memory message is output.

To configure your basic runtime or runtime cluster to output a heap dump you need to go to your basic runtime configuration and add the following:

1. Go to Runtime Management select the basic runtime you want to get the heap dump from
2. Go to properties and the advanced properties tab.
3. Add the property “Generate Heap Dump on Low Memory” or “Heap Dump on Out of Memory Error” depending on when you want the heap dump to be created. When you add one of these properties it will show up with a checkbox. Check the box to enable it. You will also need to hit save and restart your basic runtime or runtime cluster for this to take effect. Read through all the steps in this guide before you do the restart.



4. If you want to control where the heap dump is written you can go to the custom tab of your basic runtime properties and add the following:

-XX:HeapDumpPath=/your/chosen/directory

NOTE: The syntax of the above needs to be exactly as written. If the syntax is wrong your basic runtime may fail to boot back up. To fix this you will need to log into the server hosting the basic runtime, go to the basic runtime install directory and find the basic runtime.vmoptions. And remove the line you added above. This also applies to any custom settings you add in the custom basic runtime properties tab.





The property value -XX:HeapDumpPath can be any location on the local file system the basic runtime is installed on. This is the location where the heap dumps will be written too. After the above is done restart the basic runtime to allow the changes to take effect and as soon as testing is over remove the settings. If left on the heap dumps could fill up the basic runtimes file system.

 

Heap Dump for Forked Executions and execution workers:

To Capture Heap Dumps for the executions running in Forked Mode and execution workers, "Heap Dump on Out of Memory Error" Property should be enabled in Runtime Management Page --> Settings & Configuarations --> Forked Execution Properties --> Advanced Tab
This heap dump will be created under basic runtime_Cloud_Installation_Dir/accounts/{cloud_Instance_ID}

User-added image