cancel
Showing results for 
Search instead for 
Did you mean: 
Subscribe

Hi,

We are on NW04s SPS 12 on JAVA with Solaris and Oracle.

We get OutOfMemory on intermittent basis and I want to take a heap dump.

It is taking forever to take the dump and it consumes lots of memory on the server to generate a dump.

Last time it took almost 6GB and dump was not complete. It ran for 30 mnts. It dumped only 50MB. It starts writing to a file but eventually I kill it because it takes too long and lots of memory.

I am taking a dump using a jmap command u2013

/usr/sap/j2se/j2sdk1.4.2_13/bin/jmap -d64 -heap:format=b <pid>

I am little afraid to put the parameter in Visual Admin to get the dump because it may crash the box or the dump may never complete.

Please let me know if I am doing anything wrong.

I will appreciate your help.

Regards.

SC

0 Likes
View Entire Topic
Former Member
0 Likes

Hi,

you should create the DUMP using jcmon.

Goto your SYS/profile directory:

e.g. /usr/sap/<SID>/SYS/profile or X:\usr\sap.... on Windows

Start jcmon using:

jcmon pf=<PROFILE>

The Profile to be used is <SID>_JC<InstanceNo>_<hostname>

This will show up jcmon:

============================================================

JControl Monitor Program - Main Menu

============================================================

0 : exit

10 : Cluster Administration Menu

20 : Local Administration Menu

30 : Shared Memory Menu (Solid Rock, experimental)

-


Choose 20 for Local Administration Menu

You see a list of processes:

Idx

Name

PID

State

Error

Restart

---






0

dispatcher

16670

Running

0

yes

1

server0

16671

Running

0

yes

2

SDM

16672

Running

0

yes

-


============================================================

JControl Monitor Program - Administration Menu (Local)

Instance : JC_<hostname>_<SID>_<InstanceNo>

============================================================

0 : exit

1 : Refresh list

2 : Shutdown instance

3 : Enable process

4 : Disable process

5 : Restart process

6 : Enable bootstrapping on restart

7 : Disable bootstrapping on restart

8 : Enable debugging

9 : Disable debugging

10 : Dump stacktrace

11 : Process list

12 : Port list

13 : Activate debug session

14 : Deactivate debug session

15 : Increment trace level

16 : Decrement trace level

17 : Enable process restart

18 : Disable process restart

19 : Restart instance

-


40 : Enable bootstrapping for all processes with specified process type

41 : Enable bootstrapping for all processes excluding specified process type

-


99 : Extended process list on/off

-


Now use option 10 to Dump the stacktrace

Hope this helps (Reward points for helpful answers are appreciated

Cheers

Former Member
0 Likes

Thank you Marcel.

I do no think you have read my question completely. I have said that I am afraid to follow the method you have mentioned. This method generates only thread dump if parameters are not set.

I am afraid that dump may never complete with these parameters.

That is why I have asked if anybody faced simillar situation.

regards

SC