How to create a memory dump
Pyramid support may request a memory dump be sent to them. Please see below how to create the file:
1) Login to the Pyramid server and open the task Manager. Right click on a column and add the "PID" and "command line" columns.
2) Run the below two commands from an elevated command prompt. Replace the PID of the process with the PID of your process that you want to take a memory dump of.
"C:\Program Files\Pyramid 2018\java8\jre\bin\java" -classpath "C:\Program Files\Pyramid 2018\java8\lib\tools.jar" sun.tools.jcmd.JCmd 10432 Thread.print >threadDump.txt
"C:\Program Files\Pyramid 2018\java8\jre\bin\java" -classpath "C:\Program Files\Pyramid 2018\java8\lib\tools.jar" sun.tools.jcmd.JCmd 10432 GC.heap_dump C:\\heapdump.bin
For Pyramid 2020 run the following command:
"C:\Program Files\Pyramid\java\bin\jcmd" 1956 GC.heap_dump c:\heapDump.hprof
The first command will create a text file called "threadDump.txt" in the directory from where the command was run. The second command will create a file on the C: drive called "headdump.bin".
Place both files in a folder and zip them to reduce their size. We would also like to know from which process they came from. To tell this, look at the "command prompt column" to see which pyramid service they are.
In the example below we can see the process of the te =Task Engine, rte=Runtime Engine and rte =Router.
Once you have each of the two files for each process you want to take a memory dump for, please send them to us.