Heap dump collection on DGE/DGEX (Linux)

QUESTION 

How do I collect heap dumps for the DGE component when troubleshooting issues such as Out Of memory (OOM)


RESOLUTION

-install JDK. For example, in CentOS;
yum install java-1.6.0-openjdk-devel

-Use netstat -anp to determine DGE component process ID:
netstat -anp | grep 7692
tcp 0 0 0.0.0.0:7692 0.0.0.0:* LISTEN 8523/java
In this case the process id is found to be '8523'

-Generate an initial heap dump using 'jmap' (8523 is process id in this example);
jmap -dump:format=b,file=/tmp/initial_dge.hprof 8523
Dumping heap to /tmp/initial_dge.hprof ...
Heap dump file created

-Generate a heap dump about an hour later using 'jmap' (8523 is process id in this example);
jmap -dump:format=b,file=/tmp/dge_1hs.hprof 8523
Dumping heap to /tmp/second_dge.hprof ...
Heap dump file created

-Generate a heap dump after a crash (in the event logs/oom_dge.hprof is not generated) using 'jconsole' (8523 is process id in this example);

jmap -dump:format=b,file=/tmp/dge_post_crash.hprof 8523
Dumping heap to /tmp/crash_dge.hprof ...
Heap dump file created

 

The steps below were part of the original article and are no longer applicable:

-Enable heap memory dump on OOM (<TRAVERSE_HOME>/etc/monitor.init):
CONFIG="${CONFIG} -Dcom.sun.management.jmxremote.ssl=false"
change to
CONFIG="${CONFIG} -Dcom.sun.management.jmxremote.ssl=false"
CONFIG="${CONFIG} -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=../logs/oom_dge.hprof"

-Restart DGE component

 

APPLIES TO

All Linux Traverse versions


REFERENCE

See also Troubleshooting: Generate a thread/stack dump for a Traverse component

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Contact us