cancel
Showing results for 
Search instead for 
Did you mean: 

Heap & Thread dump analysis Please help!!

Former Member
0 Kudos

Hello Experts,

Currently i have a situation where i need to perform thread & heap dump analysis on a Enterprise Portal system.

Server OS is Linux 64 bit

I have 2 questions:

1. I have been able to take the thread dump from jcmon; by calling jcmon > Local administration>Dump stack trace. I understand that i will need to set the parameters XX:HeapDumpOnOutOfMemoryError and -XX:HeapDumpOnCtrlBreak in configtool to get a heap dump. But i am not aware of how to get a heap dump generated from jcmon. Please could you guide me regarding the same?

2. We are using IBM JVM(IBM J9 VM). Once i have a heap dump, how would i use eclipse memory analyzer to analyze the heap dump?

I have found the path to download eclipse memory analyzer from https://www.sdn.sap.com/irj/scn/wiki?path=/x/k2w. But i am not sure which one to download and install on my machine. The way i am planning to perform heap dump analysis is by downloading the heap dump onto my local windows desktop machine and analyzing the same.

Thanks & Regards,

Srinivas

Accepted Solutions (1)

Accepted Solutions (1)

thunder_feng
Active Participant
0 Kudos

Regarding your second question, I would like to suggest you us the MAT tool:

http://www.eclipse.org/mat/

Which is very convenient and very excellent.

But the dump from IBM JDK can not be analyzed directly by this tool, you just need to convert it into

core.YYYYMMDD.HHMMSS.PID.NNNN.dmp.zip

as mention by sap note 1259465.

Regards,

Thunder

Edited by: Thunder Feng on Sep 16, 2010 5:51 PM

krumts
Advisor
Advisor
0 Kudos

Hi Thunder,

Thanks for answering the question! I'd like to add some more details.

The note 1259465 is specific for AIX. Other (similar) notes exis for the different IBM platforms and are available at the bottom of this page:

http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=33456

The ones relevant for linux (depending on the underlying platform) are:

SAP Note 1265455 - For NetWeaver 6.40 / 7.0x on pLinux (Linux on Power)

SAP Note 1263258 - For NetWeaver 6.40 / 7.0x on xLinux (IBM VM for Linux on x86_64)

SAP Note 1336952 - For NetWeaver 6.40 / 7.0x on zLinux (Linux on System z)

With IBM VMs one can get two types of heap dumps -

1) a phd dump

and

2) a system dump (needs to be preprocessed with jextract)

In short - phd dump is more smaller, but it also has less information. A more detailed explanation of the differen formats I've posted in the Memory Analyzer blog at Eclipse some time ago. Here is the link:

http://dev.eclipse.org/blogs/memoryanalyzer/2010/01/25/heap-dump-analysis-with-memory-analyzer-part-...

I hope this helps.

Regards,

Krum

Answers (2)

Answers (2)

Former Member
0 Kudos

Dear MYLAVARAPUNAGARAJU,

The way you have mentioned, i have been taking the thread dumps. Are you saying that when i have these parameters (XX:HeapDumpOnOutOfMemoryError and -XX:HeapDumpOnCtrlBreak) set in confitool, With the same option i will be getting heapdump(HPROF file)??

Thanks & Regards,

Srinivas

thunder_feng
Active Participant
0 Kudos

Hi Srinivas

Let me answer your first questions:

1. normally you don't need to trigger the heapdump manually, with setting the parmeter

HeapDumpOnOutOfMemoryError and -XX:HeapDumpOnCtrlBreak

a heapdump will be genearted automatically if there is any OutOfMemory occurs.

2. but in case you do need to trigger a heapdump manully, here is the suggested way:

A) refer to sap note 1259465 make sure your JDK is SR12 or above.

B) add the following parameter to your JVM

-Xdump:system:events=user,request=exclusiveprepwalkcompact

C) restart the J2EE to make the change take effect.

D) trigger a threaddump as you know via JCMON.

E) with the setting of "-Xdump:system:events=user", a heapdump will also be

generated with the generating of threadump.

Best Regards,

Thunder

Former Member
0 Kudos

Hi, you will not get HPROF file but phd file , and also you need install IBM DTFJ feature plugin

http://wiki.eclipse.org/index.php/MemoryAnalyzer#System_Dumps_and_Heap_Dumps_from_IBM_Virtual_Machin...

Former Member
0 Kudos

Hi

Make sur to login Adm user,

Step 1

Start the JCMon program with the profile of the instance.

/usr/sap/<SID>/<Instance>/j2ee/os_libs

/usr/sap/<SID>/SYS/exe/run directory.

I,ee: >jcmon.exe pf=C:\usr\sap\SID\SYS\profile\JCXXXXXX

Choose the "Dump stacktrace" menu item by entering its number.

Select the server process from the list of processes above (the table just above the menu items) and enter the value from the "Idx" column.

Confirm the command with a "y" if the selected server process is correct.

You can more information from https://cw.sdn.sap.com/cw/docs/DOC-105335?treeid=DOC-99716

OSS note 723909

Regards

Nagaraju

Edited by: MYLAVARAPUNAGARAJU on Sep 16, 2010 10:58 AM