Out of memory in the Performance Analyzer
By Darryl Gove on Jan 16, 2009
I've been working on an Analyzer experiment from a long running multithreaded application. Being MT I really needed to see the Timeline view to make sense of what was happening. However, when I switched to the Timeline I got a Java Out of Memory error (insufficient heap space).
Tracking this down, I used prstat to watch the Java application run and the memory footprint increase. I'd expected it to get to 4GB and die at that point, so I was rather surprised when the process was only consuming 1.1GB when the error occurred.
I looked at the commandline options for the Java process using pargs, and spotted the flag -Xmx1024m; which sets the max memory to be 1GB. Ok, found the culprit. You can use the -J
$ analyzer -J-Xmx4096m test.1.er
If you need more memory than that, you'll have to go to the 64-bit JVM, and allocate an appropriate amount of memory:
$ analyzer -J-d64 -J-Xmx8192m test.1.er