on 07-24-2008 2:48 PM
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
Hello Sume,
Please refer to the note 1004255
&
How can I get a heapdump ?
https://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=33456
you need these parameters configured correctly for the engine to generate a heapdump on out of memory situation. By itself, the parameters don't cause any issues/crashing of the system. You can only generate heapdump manually when the parameter -XX:+HeapDumpOnCtrlBreak is maintained. The command to generate a heapdump manually is kill -3 which is the same as generating threaddump as well. Usually, SAP support rarely recommends generating a heapdump manually. If you have OOM issues, we need the heapdump which is generated automatically at that time for the correct analysis.
Regards,
Snehal
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
User | Count |
---|---|
81 | |
9 | |
9 | |
7 | |
7 | |
6 | |
6 | |
6 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.