This guide briefly covers how to generate a heap dump from SUP using jmap:
Creating a Heap Dump (jmap)
Many people have generated a Heap Dump by sending the Ctrl-Break Signal to a java process on POSIX-Systems before.
However, Unwired Server runs on Windows, which does not include the signal commands.
This means you have to use special tools to communicate with the Java VM directly. There are a number of options to do this, including jconsole and jvisualvm.
The easiest I found is using the ‘jmap’ tool as below:
- On an remote desktop connection, you need an Administration console, either
by connecting to the machine console by using mstsc <hostname>
/admin or by “Starting as Administrator” a command window “cmd.exe”.
- Use psexec -s from sysinternals suite to execute the tool because the
process runs as a service and only the system user is allowed to connect
- jmap is found in the directory %JDK_HOME%\bin
psexec -s jmap -dump:format=b,file=<file name in absolute path> <PID of mlsrv12.exe>
Analyzing a Heap Dump
Java heap dumps from Oracle and SAP VMs are usually generated in ‘hprof’ format.
The best tool to analyse the dump is the Eclipse Memory Analyser, available from:
It can automatically generate a leak suspect report or let the user drill down through the various hashtables.