EM Agent get restarted on heap dump generation with jmap command
Hi all,
To find the cause of OutOfMemory error we are generating heap dump of perticular JVM process by using the command "jmap -dump:format=b,file=heap.bin <pid>".
But when we excute this command, then our all the other jvm process get crashed and it also crashed emagent process.
I would like to know the reason why these processes and specially emagent process
get crashed.
Regards,
$
Hi Michal,
that looks indeed very odd. First, let me ask which version do you use? We had a problem in the past where classes loaded by the system class loader were not marked as garbage collection roots and hence were removed. This problem is fixed in the current version (1.1). If it is version 1.1, then I would love to have a look at the heap dump and find out if it is us.
Having said that, this is what we do: After parsing the heap dump, we remove objects which are not reachable from garbage collection roots. This is necessary, because the heap dump can contain garbage. For example, the mark-sweep-compact of the old/perm generation leaves some dead space in the form of int arrays or java.lang.Object to win time during the compacting phase: by leaving behind dead objects, not every live object has to be moved which means not every object needs a new address. This is the kind of garbage we remove.
Of course, we do not remove objects kept alive only by weak or soft references. To see what memory is kept alive only through weak or soft references, one can run the "Soft Reference Statistics" from the menu.
Kind regards,
- Andreas.
Edited by: Andreas Buchen on Feb 14, 2008 6:23 PM
Similar Messages
-
Dificulty generating Heap dump....
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.
SCHi,
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 -
Problems with creation of an HEAP Dump
Dear all,
I have tried to create a HEAP Dump (CntrBreak) with the Java-based SAPMC Console (Process Table => server<no.> => DumpStack, but I get no dump on operation system (/usr/sap/<SID>/JC01/j2ee/cluster/server0/). I set the parameter -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpOnCtrlBreak in the VM. Our Java version is 1.4.12, the OS is Sun Solaris.
Did anyone know why it not functioned in our solution?
Many thanks in advanced.
PatrickHi,
The Java based MC should provide the same functionality as the MMC. I tested today to trigger a heap dump as you have described and I had success.
As the "Dump Stack" action is a protected one, the user should be asked for user/pass. Is it also for you so?
And I have found several notes describing problems with the authentication of the sapstartsrv user on different unix platforms. As there is no action at all logged in your case, I guess that this could be the problem.
Here are the notes I found:
[Note 927637 - Web service authentication in sapstartsrv as of Release 7.00|https://service.sap.com/sap/support/notes/927637]
[Note 992907 - sapstartsrv user authentication on Solaris|https://service.sap.com/sap/support/notes/992907]
I hope this helps.
Have you tried already to perform the action from an MMC?
Regards,
Krum -
How can I get heap dump for 1.4.2_11 when OutOfMemory Occured
Hi guys,
How can I get heap dump for 1.4.2_11 when OutOfMemory Occured, since it has no options like: -XX:+HeapDumpOnOutOfMemoryError and -XX:+HeapDumpOnCtrlBreak
We are running Webloic 8.1 SP3 applications using this Sun 1.4.2_11 JVM and it's throwing out OutOfMemory, but we can not find a heap dump. The application is running as a service in Windows Server 2003. How can I do some more analysis on this issue.
Thanks.The HeapDumpOnOutOfMemoryError option was added to 1.4.2 in update 12. Further work to support all collectors was done in update 15.
-
Heap Dump file generation problem
Hi,
I've configured configtool to have these 2 parameters:
-XX:+HeapDumpOnOutOfMemoryError
-XX:+HeapDumpOnCtrlBreak
In my understanding, with these 2 parameters, the heap dump files will only be generated under 2 situations, ie, when out of memory occurred, or user manually click CLTR + BREAK in MMC.
1) Unfortunately, there are many heap dump files (9 in total) generated when none of the above situation occured. I couldnt find "OutOfMemoryError" in the default trace, nor the shallow heap size of those heap dump files are anywhere near the memory limit. The consequences are our server run out of disk space.
My question is, what are the other possibilities that heap dump file will be generated?
2) In the Memory Consumption graph (NWA (http://host:port/nwa) -> System Management -> Monitoring -> Java Systems Reports), out of memory error occurred when the memory usage is reaching about 80% of the allocated memory. What are the remaining 20% or so reserved for ?
Any help would be much appreciated.
Thanks.Hi,
Having the -XX:+HeapDumpOnCtrlBreak option makes the VM trigger a heap dump, whenever a CTRL_BREAK event appears. The same event is used also to trigger a thread dump, an action you can do manually from the SAP Management Console, I think it is called "Dump stacks". So if there was someone triggering thread dumps for analysis of other types of problems, this has the side effect of writing also a heap dump.
Additionally, the server itself may trigger a thread dump (and by this also a heap dump if the option is present). It does this for example when a timeout appears during the start or stop of the server. A thread dump from such a moment allows us to see for example which service is unable to start.
Therefore, I would recommend that you leave only the -XX:+HeapDumpOnOutOfMemoryError, as long as you don't plan to trigger any heap dumps on your own. The latter will cause the VM to write a heap dump only once - on the first appearance of an OutOfMemoryError.
In case you need to trigger the heap dumps manually, leave the -XX:+HeapDumpOnCtrlBreak option for the moment of troubleshooting, but consider if you want to keep it afterwards.
If heap dumps were written because of an OutOfMemoryError you should be able to see this in the dev_server file in /usr/sap/<SID>/<inst>/work/ . Also there you should be able to see if indeed thread dumps were triggered (just search for "Full Thread ").
I hope this helps.
Regards,
Krum -
How to take regular heap dumps using HPROF
Hi Folks,
I am using Oracle App server as my application server. I found that the memory is growing gradualy and gets maxed out with in 1 hour. I am using 1 GB of heap.
I defently feel this is a memory leak issue. Once the Heap usage reaches 100%, I will start getting the FULL GCs and my whole server hangs and nothing will work. Some times even the JVM crashes and restarts again.
I didn't find Out of Memory exception also in any of my logs.
I came to know that we can use Hprof to deal with this.
I use the below as my JVM agrs...
-agentlib:hprof=heap=all,format=b,depth=10,file=$ORACLE_HOME\hprof\Data.hprof
I run my load run for 10 mins, now my heap usage has been grown to some extent.
My Questions:
1. Why there are 2 files generated, one is with the name Data.hprof and another with Data.hprof.tmp. Which is what?
2. How to get the dump at 2 different points. So that I can compare the the 2 dumps and I can say which object is growing more.
I downloaded the HAT and If I use to open this Data.hprof file from HAT, I am getting this error. This error will come if I open the file with out stoping the JVM process.
java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java:178)
at java.io.DataInputStream.readFully(DataInputStream.java:152)
at hat.parser.HprofReader.read(HprofReader.java:202)
at hat.parser.Reader.readFile(Reader.java:90)
at hat.Main.main(Main.java:149)
If I stop the JVM process, and then open through HAT I am getting this error,
Started HTTP server on port 7000
Reading from hprofData.hprof...
Dump file created Wed Dec 13 02:35:03 MST 2006
Warning: Weird stack frame line number: -688113664
java.io.IOException: Bad record length of -1551478782 at byte 0x0008ffab of file.
at hat.parser.HprofReader.read(HprofReader.java:193)
at hat.parser.Reader.readFile(Reader.java:90)
at hat.Main.main(Main.java:149)
JVm version I am using is: Sun JVM 1.5.0_06
I am seriously fed up of this memory leak issue... Please help me out folks... I need this as early as possible..
I hope I get early replys...
Thanks in advance...First, the suggestion of using jmap is an excellent one, you should try it. On large applications, using the hprof agent you have to restart your VM, and hprof can disturb your JVM process, you may not be able to see the problem as quickly. With jmap, you can get a heap snapshot of a running JVM when it is in the state you want to understand more of, and it's really fast compared to using the hprof agent. The hprof dump file you get from jmap will not have the stack traces of where objects were allocated, which was a concern of mine a while back, but all indications are that these stack traces are not critical to finding memory leak problems. The allocation sites can usually be found with a good IDE ot search tool,
like the NetBeans 'Find Usages' feature.
On hprof, there is a temp file created during the heap dump creation, ignore the tmp file.
The HAT utility has been added to JDK6 (as jhat) and many problems have been fixed. But most importantly, this JDK6 jhat can read ANY hprof dump file, from JDK5 or even JDK1.4.2. So even though the JDK6 jhat is using JDK6 itself, the hprof dump file it is given could have come from pretty much anywhere, including jmap. As long as it's a valid hprof binary dump file.
So even if it's just to have jhat handy, you should get JDK6.
Also, the Netbeans profiler (http://www.netbeans.org) might be helpful too. But it will require a restart of the VM.
-kto -
Unexpected error. server getting restarted
Hi All,
i am using oracle app server which supports JEE 1.3. When i deploy my application and run for few minutes itself my server getting restarted and i am getting the following error in my log.
Unexpected Signal : 11 occurred at PC=0x55A38B2D
Function=(null)+0x55A38B2D
Library=/u01/app/oracle/product/10gr2as/jdk/jre/lib/i386/server/libjvm.so
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
Dynamic libraries:
08048000-08056000 r-xp 00000000 08:12 227272 /u01/app/oracle/product/10gr2as/jdk/bin/java
08056000-08059000 rwxp 0000d000 08:12 227272 /u01/app/oracle/product/10gr2as/jdk/bin/java
55555000-5556b000 r-xp 00000000 08:12 24979 /lib/ld-2.3.3.so
5556b000-5556c000 rwxp 00016000 08:12 24979 /lib/ld-2.3.3.so
5558b000-55598000 r-xp 00000000 08:12 25006 /lib/tls/libpthread.so.0
55598000-55599000 rwxp 0000d000 08:12 25006 /lib/tls/libpthread.so.0
5559b000-5559d000 r-xp 00000000 08:12 24988 /lib/libdl.so.2
5559d000-5559e000 rwxp 00001000 08:12 24988 /lib/libdl.so.2
5559e000-556ad000 r-xp 00000000 08:12 25004 /lib/tls/libc.so.6
556ad000-556b6000 rwxp 0010f000 08:12 25004 /lib/tls/libc.so.6
556ba000-55c6c000 r-xp 00000000 08:12 226685 /u01/app/oracle/product/10gr2as/jdk/jre/lib/i386/server/libjvm.so
55c6c000-55cc6000 rwxp 005b1000 08:12 226685 /u01/app/oracle/product/10gr2as/jdk/jre/lib/i386/server/libjvm.so
55cd9000-55ce1000 r-xp 00000000 08:12 226683 /u01/app/oracle/product/10gr2as/jdk/jre/lib/i386/native_threads/libhpi.so
55ce1000-55ce2000 rwxp 00007000 08:12 226683 /u01/app/oracle/product/10gr2as/jdk/jre/lib/i386/native_threads/libhpi.so
55ce2000-55ce6000 rwxs 00000000 08:12 545492 /tmp/hsperfdata_oracle/8936
55cf7000-55d08000 r-xp 00000000 08:12 24991 /lib/libnsl.so.1
55d08000-55d09000 rwxp 00011000 08:12 24991 /lib/libnsl.so.1
55d0b000-55d2c000 r-xp 00000000 08:12 25005 /lib/tls/libm.so.6
55d2c000-55d2d000 rwxp 00021000 08:12 25005 /lib/tls/libm.so.6
55d2d000-55d3d000 r-xp 00000000 08:12 226555 /u01/app/oracle/product/10gr2as/jdk/jre/lib/i386/libverify.so
55d3d000-55d3f000 rwxp 0000f000 08:12 226555 /u01/app/oracle/product/10gr2as/jdk/jre/lib/i386/libverify.so
55d3f000-55d5f000 r-xp 00000000 08:12 226560 /u01/app/oracle/product/10gr2as/jdk/jre/lib/i386/libjava.so
55d5f000-55d61000 rwxp 0001f000 08:12 226560 /u01/app/oracle/product/10gr2as/jdk/jre/lib/i386/libjava.so
55d61000-55d75000 r-xp 00000000 08:12 226602 /u01/app/oracle/product/10gr2as/jdk/jre/lib/i386/libzip.so
55d75000-55d78000 rwxp 00013000 08:12 226602 /u01/app/oracle/product/10gr2as/jdk/jre/lib/i386/libzip.so
55d78000-5771f000 r-xs 00000000 08:12 226530 /u01/app/oracle/product/10gr2as/jdk/jre/lib/rt.jar
57769000-5777f000 r-xs 00000000 08:12 225949 /u01/app/oracle/product/10gr2as/jdk/jre/lib/sunrsasign.jar
5777f000-5785c000 r-xs 00000000 08:12 226531 /u01/app/oracle/product/10gr2as/jdk/jre/lib/jsse.jar
5785c000-5786d000 r-xs 00000000 08:12 225956 /u01/app/oracle/product/10gr2as/jdk/jre/lib/jce.jar
5786d000-57dc6000 r-xs 00000000 08:12 226542 /u01/app/oracle/product/10gr2as/jdk/jre/lib/charsets.jar
59e6e000-59e6f000 r-xs 00000000 08:12 535927 /u01/app/oracle/product/10gr2as/j2ee/home/default-web-app/WEB-INF/lib/looptags.jar
62072000-620a5000 r-xp 00000000 08:12 160900 /usr/lib/locale/en_GB.utf8/LC_CTYPE
620a5000-620ab000 r-xs 00000000 08:12 30507 /usr/lib/gconv/gconv-modules.cache
62831000-62841000 r-xp 00000000 08:12 226642 /u01/app/oracle/product/10gr2as/jdk/jre/lib/i386/libnet.so
62841000-62842000 rwxp 0000f000 08:12 226642 /u01/app/oracle/product/10gr2as/jdk/jre/lib/i386/libnet.so
628c3000-628d7000 r-xp 00000000 08:12 529121 /u01/app/oracle/product/10gr2as/lib/libocijdbc10.so
628d7000-628d8000 rwxp 00013000 08:12 529121 /u01/app/oracle/product/10gr2as/lib/libocijdbc10.so
62f87000-62f8a000 r-xs 00000000 08:12 226693 /u01/app/oracle/product/10gr2as/jdk/jre/lib/ext/dnsns.jar
62f8a000-62f8d000 r-xs 00000000 08:12 225161 /u01/app/oracle/product/10gr2as/jdk/jre/lib/ext/jta.jar
62f8d000-62f9b000 r-xs 00000000 08:12 225184 /u01/app/oracle/product/10gr2as/jdk/jre/lib/ext/activation.jar
62f9b000-62fc1000 r-xs 00000000 08:12 225163 /u01/app/oracle/product/10gr2as/jdk/jre/lib/ext/mailapi.jar
62fc1000-62fc2000 r-xs 00000000 08:12 537913 /u01/app/oracle/product/10gr2as/jdk/jre/lib/ext/sslqueries.jar
62fc2000-63007000 r-xs 00000000 08:12 225162 /u01/app/oracle/product/10gr2as/jdk/jre/lib/ext/mail.jar
63007000-6300d000 r-xs 00000000 08:12 537927 /u01/app/oracle/product/10gr2as/jdk/jre/lib/ext/ojmisc.jar
6300d000-63029000 r-xs 00000000 08:12 226692 /u01/app/oracle/product/10gr2as/jdk/jre/lib/ext/sunjce_provider.jar
63029000-63036000 r-xs 00000000 08:12 226694 /u01/app/oracle/product/10gr2as/jdk/jre/lib/ext/ldapsec.jar
63036000-63039000 r-xs 00000000 08:12 225183 /u01/app/oracle/product/10gr2as/jdk/jre/lib/ext/smtp.jar
63039000-630f5000 r-xs 00000000 08:12 226695 /u01/app/oracle/product/10gr2as/jdk/jre/lib/ext/localedata.jar
630f5000-6367c000 r-xs 00000000 08:12 535970 /u01/app/oracle/product/10gr2as/j2ee/home/oc4j.jar
6367c000-63680000 r-xs 00000000 08:12 535949 /u01/app/oracle/product/10gr2as/j2ee/home/lib/ejb.jar
63680000-6368e000 r-xs 00000000 08:12 535968 /u01/app/oracle/product/10gr2as/j2ee/home/lib/servlet.jar
6368e000-63736000 r-xs 00000000 08:12 535967 /u01/app/oracle/product/10gr2as/j2ee/home/lib/ojsp.jar
63736000-6374f000 r-xs 00000000 08:12 535962 /u01/app/oracle/product/10gr2as/j2ee/home/lib/jndi.jar
6374f000-63751000 r-xs 00000000 08:12 535956 /u01/app/oracle/product/10gr2as/j2ee/home/lib/jdbc.jar
63751000-6388c000 r-xs 00000000 08:12 535929 /u01/app/oracle/product/10gr2as/j2ee/home/iiop.jar
6388c000-63896000 r-xs 00000000 08:12 535930 /u01/app/oracle/product/10gr2as/j2ee/home/iiop_gen_bin.jar
63896000-6389d000 r-xs 00000000 08:12 535958 /u01/app/oracle/product/10gr2as/j2ee/home/lib/jms.jar
6389d000-638a0000 r-xs 00000000 08:12 535965 /u01/app/oracle/product/10gr2as/j2ee/home/lib/jta.jar
638a0000-638f7000 r-xs 00000000 08:12 535960 /u01/app/oracle/product/10gr2as/j2ee/home/lib/jmxri.jar
638f7000-638fb000 r-xs 00000000 08:12 535952 /u01/app/oracle/product/10gr2as/j2ee/home/lib/javax77.jar
638fb000-63903000 r-xs 00000000 08:12 535953 /u01/app/oracle/product/10gr2as/j2ee/home/lib/javax88.jar
63903000-6390d000 r-xs 00000000 08:12 532533 /u01/app/oracle/product/10gr2as/opmn/lib/ons.jar
6390d000-63917000 r-xs 00000000 08:12 532962 /u01/app/oracle/product/10gr2as/opmn/lib/optic.jar
63917000-6399b000 r-xs 00000000 08:12 532625 /u01/app/oracle/product/10gr2as/lib/dms.jar
6399b000-639dd000 r-xs 00000000 08:12 532630 /u01/app/oracle/product/10gr2as/diagnostics/lib/ojdl.jar
639dd000-639f9000 r-xs 00000000 08:12 533529 /u01/app/oracle/product/10gr2as/jlib/oraclepki.jar
639f9000-63a4d000 r-xs 00000000 08:12 533232 /u01/app/oracle/product/10gr2as/jlib/ojpse.jar
63a4d000-63ae8000 r-xs 00000000 08:12 532648 /u01/app/oracle/product/10gr2as/jlib/ldapjclnt10.jar
63ae8000-63b30000 r-xs 00000000 08:12 533454 /u01/app/oracle/product/10gr2as/jlib/netcfg.jar
63b30000-63b3c000 r-xs 00000000 08:12 534279 /u01/app/oracle/product/10gr2as/jlib/jssl-1_1.jar
63b3c000-63b41000 r-xs 00000000 08:12 534278 /u01/app/oracle/product/10gr2as/jlib/javax-ssl-1_1.jar
63b41000-64020000 r-xs 00000000 08:12 531800 /u01/app/oracle/product/10gr2as/jlib/orai18n.jar
64020000-640cb000 r-xs 00000000 08:12 533528 /u01/app/oracle/product/10gr2as/owm/jlib/owm-3_0.jar
640cb000-640d0000 r-xs 00000000 08:12 535946 /u01/app/oracle/product/10gr2as/j2ee/home/lib/connector.jar
640d0000-6414e000 r-xs 00000000 08:12 535945 /u01/app/oracle/product/10gr2as/j2ee/home/lib/bcel.jar
6414e000-6415d000 r-xs 00000000 08:12 535947 /u01/app/oracle/product/10gr2as/j2ee/home/lib/cos.jar
6415d000-641db000 r-xs 00000000 08:12 535964 /u01/app/oracle/product/10gr2as/j2ee/home/lib/jsse.jar
641db000-641dd000 r-xs 00000000 08:12 535963 /u01/app/oracle/product/10gr2as/j2ee/home/lib/jnet.jar
641dd000-641e0000 r-xs 00000000 08:12 535955 /u01/app/oracle/product/10gr2as/j2ee/home/lib/jcert.jar
641e0000-641ec000 r-xs 00000000 08:12 535944 /u01/app/oracle/product/10gr2as/j2ee/home/lib/activation.jar
641ec000-64231000 r-xs 00000000 08:12 535966 /u01/app/oracle/product/10gr2as/j2ee/home/lib/mail.jar
64231000-64336000 r-xs 00000000 08:12 534100 /u01/app/oracle/product/10gr2as/javavm/lib/jasper.zip
64336000-64411000 r-xs 00000000 08:12 531419 /u01/app/oracle/product/10gr2as/lib/xmlparserv2.jar
64411000-64418000 r-xs 00000000 08:12 535954 /u01/app/oracle/product/10gr2as/j2ee/home/lib/jaxp.jar
64418000-64432000 r-xs 00000000 08:12 535951 /u01/app/oracle/product/10gr2as/j2ee/home/lib/jaas.jar
64432000-64475000 r-xs 00000000 08:12 535932 /u01/app/oracle/product/10gr2as/j2ee/home/jazn.jar
64600000-646a4000 r-xs 00000000 08:12 535938 /u01/app/oracle/product/10gr2as/j2ee/home/jazncore.jar
646a4000-646c0000 r-xs 00000000 08:12 538122 /u01/app/oracle/product/10gr2as/jlib/infratool.jar
646c0000-64761000 r-xs 00000000 08:12 531394 /u01/app/oracle/product/10gr2as/jlib/srvm.jar
64761000-64767000 r-xs 00000000 08:12 533230 /u01/app/oracle/product/10gr2as/jlib/ojmisc.jar
64767000-64779000 r-xs 00000000 08:12 532611 /u01/app/oracle/product/10gr2as/jlib/repository.jar
64779000-648da000 r-xs 00000000 08:12 529241 /u01/app/oracle/product/10gr2as/jdbc/lib/classes12dms.jar
648da000-64db9000 r-xs 00000000 08:12 529242 /u01/app/oracle/product/10gr2as/jdbc/lib/nls_charset12.jar
64db9000-64f19000 r-xs 00000000 08:12 529240 /u01/app/oracle/product/10gr2as/jdbc/lib/classes12.jar
64f19000-64f62000 r-xs 00000000 08:12 535124 /u01/app/oracle/product/10gr2as/soap/lib/soap.jar
64f62000-64f8b000 r-xs 00000000 08:12 532543 /u01/app/oracle/product/10gr2as/webservices/lib/wsserver.jar
64f8b000-64faf000 r-xs 00000000 08:12 532549 /u01/app/oracle/product/10gr2as/webservices/lib/wsdl.jar
64faf000-65079000 r-xs 00000000 08:12 534241 /u01/app/oracle/product/10gr2as/rdbms/jlib/aqapi.jar
65079000-650e1000 r-xs 00000000 08:12 535957 /u01/app/oracle/product/10gr2as/j2ee/home/lib/jem.jar
650e1000-65175000 r-xs 00000000 08:12 534228 /u01/app/oracle/product/10gr2as/javacache/lib/cache.jar
65175000-65194000 r-xs 00000000 08:12 531418 /u01/app/oracle/product/10gr2as/lib/xschema.jar
65194000-651ce000 r-xs 00000000 08:12 535950 /u01/app/oracle/product/10gr2as/j2ee/home/lib/http_client.jar
651ce000-65243000 r-xs 00000000 08:12 532446 /u01/app/oracle/product/10gr2as/sqlj/lib/runtime12ee.jar
65243000-65629000 r-xs 00000000 08:12 532447 /u01/app/oracle/product/10gr2as/sqlj/lib/translator.jar
65629000-6565c000 r-xs 00000000 08:12 535948 /u01/app/oracle/product/10gr2as/j2ee/home/lib/crimson.jar
6565c000-65665000 r-xs 00000000 08:12 533233 /u01/app/oracle/product/10gr2as/jlib/ojpcs.jar
65665000-65699000 r-xs 00000000 08:12 533234 /u01/app/oracle/product/10gr2as/jlib/ojpcp.jar
65699000-656b2000 r-xs 00000000 08:12 533235 /u01/app/oracle/product/10gr2as/jlib/ojpcms.jar
659c1000-659c6000 r-xs 00000000 08:12 535088 /u01/app/oracle/product/10gr2as/BC4J/lib/adfmtl.jar
659df000-659e7000 r-xp 00000000 08:12 24994 /lib/libnss_files.so.2
659e7000-659e8000 rwxp 00008000 08:12 24994 /lib/libnss_files.so.2
65b9b000-65dee000 r-xs 00000000 08:12 535083 /u01/app/oracle/product/10gr2as/BC4J/lib/bc4jmt.jar
65dee000-65df4000 r-xs 00000000 08:12 535089 /u01/app/oracle/product/10gr2as/BC4J/lib/adfmweb.jar
65df4000-65e34000 r-xs 00000000 08:12 535077 /u01/app/oracle/product/10gr2as/BC4J/lib/collections.jar
65e34000-65e46000 r-xs 00000000 08:12 535085 /u01/app/oracle/product/10gr2as/BC4J/lib/bc4jmtejb.jar
65e46000-65e5c000 r-xs 00000000 08:12 535078 /u01/app/oracle/product/10gr2as/BC4J/lib/bc4jdomorcl.jar
65e5c000-65e63000 r-xs 00000000 08:12 535086 /u01/app/oracle/product/10gr2as/BC4J/lib/bc4jctejb.jar
65e63000-65e7e000 r-xs 00000000 08:12 535082 /u01/app/oracle/product/10gr2as/BC4J/lib/bc4jimdomains.jar
66000000-66155000 r-xs 00000000 08:12 535087 /u01/app/oracle/product/10gr2as/BC4J/lib/adfm.jar
66155000-662b3000 r-xs 00000000 08:12 535084 /u01/app/oracle/product/10gr2as/BC4J/lib/bc4jct.jar
662b3000-662c9000 r-xs 00000000 08:12 529159 /u01/app/oracle/product/10gr2as/ord/jlib/ordim.jar
662c9000-662de000 r-xs 00000000 08:12 529160 /u01/app/oracle/product/10gr2as/ord/jlib/ordhttp.jar
662de000-662f5000 r-xs 00000000 08:12 535075 /u01/app/oracle/product/10gr2as/jlib/jdev-cm.jar
662f5000-66458000 r-xs 00000000 08:12 532548 /u01/app/oracle/product/10gr2as/lib/dsv2.jar
66458000-66488000 r-xs 00000000 08:12 532437 /u01/app/oracle/product/10gr2as/lib/xsu12.jar
66488000-664f9000 r-xs 00000000 08:12 535941 /u01/app/oracle/product/10gr2as/j2ee/home/jsp/lib/taglib/ojsputil.jar
664f9000-66559000 r-xs 00000000 08:12 535940 /u01/app/oracle/product/10gr2as/j2ee/home/jsp/lib/taglib/jaxen.jar
66559000-665b4000 r-xs 00000000 08:12 535942 /u01/app/oracle/product/10gr2as/j2ee/home/jsp/lib/taglib/standard.jar
665b4000-665ce000 r-xs 00000000 08:12 531528 /u01/app/oracle/product/10gr2as/j2ee/home/jsp/lib/taglib/ordjsptag.jar
665ce000-665d4000 r-xs 00000000 08:12 533257 /u01/app/oracle/product/10gr2as/uix/taglib/uix2tags.jar
665d4000-665ff000 r-xs 00000000 08:12 532460 /u01/app/oracle/product/10gr2as/lib/oraclexsql.jar
665ff000-66600000 r-xs 00000000 08:12 532464 /u01/app/oracle/product/10gr2as/lib/xsqlserializers.jar
6665f000-66663000 r-xp 00000000 08:12 24993 /lib/libnss_dns.so.2
66663000-66664000 rwxp 00003000 08:12 24993 /lib/libnss_dns.so.2
66664000-66673000 r-xp 00000000 08:12 25000 /lib/libresolv.so.2
66673000-66674000 rwxp 0000f000 08:12 25000 /lib/libresolv.so.2
66676000-666b2000 r-xs 00000000 08:12 617410 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/struts-taglib-1.3.5.jar
66800000-66a95000 r-xs 00000000 08:12 617406 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/spring.jar
66a95000-66a9f000 r-xs 00000000 08:12 617409 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/struts-extras-1.3.5.jar
66a9f000-66abd000 r-xs 00000000 08:12 617411 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/struts-tiles-1.3.5.jar
66abd000-66ad3000 r-xs 00000000 08:12 617400 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/commons-chain-1.1.jar
66ad3000-66c5a000 r-xs 00000000 08:12 617398 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/classes12.jar
66c5a000-66c64000 r-xs 00000000 08:12 617402 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/commons-logging-1.0.4.jar
66c64000-66c6a000 r-xs 00000000 08:12 617404 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/jstl.jar
66c6a000-66c94000 r-xs 00000000 08:12 617401 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/commons-digester-1.6.jar
66c94000-66cb2000 r-xs 00000000 08:12 617403 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/commons-validator-1.3.0.jar
66cb2000-66cc2000 r-xs 00000000 08:12 617405 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/oro-2.0.8.jar
66cc2000-66d23000 r-xs 00000000 08:12 617407 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/standard.jar
66d23000-66d71000 r-xs 00000000 08:12 617408 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/struts-core-1.3.5.jar
66d71000-66d72000 r-xs 00000000 08:12 617412 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/trimflt.jar
66d72000-66da1000 r-xs 00000000 08:12 617399 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/commons-beanutils-1.7.0.jar
66da1000-66df9000 r-xs 00000000 08:12 617397 /u01/app/oracle/product/10gr2as/j2ee/CMI/applications/cmi/cmi/WEB-INF/lib/antlr-2.7.2.jar
67b00000-6858c000 r-xp 00000000 08:12 538268 /u01/app/oracle/product/10gr2as/lib/libclntsh.so.10.1
6858c000-68692000 rwxp 00a8c000 08:12 538268 /u01/app/oracle/product/10gr2as/lib/libclntsh.so.10.1
686a7000-68816000 r-xp 00000000 08:12 531253 /u01/app/oracle/product/10gr2as/lib/libnnz10.so
68816000-6883a000 rwxp 0016e000 08:12 531253 /u01/app/oracle/product/10gr2as/lib/libnnz10.so
Heap at VM Abort:
Heap
def new generation total 1728K, used 1599K [0x59e70000, 0x5a040000, 0x5a580000)
eden space 1600K, 99% used [0x59e70000, 0x59fffff8, 0x5a000000)
from space 128K, 0% used [0x5a000000, 0x5a000000, 0x5a020000)
to space 128K, 0% used [0x5a020000, 0x5a020000, 0x5a040000)
tenured generation total 13208K, used 6900K [0x5a580000, 0x5b266000, 0x5de70000)
the space 13208K, 52% used [0x5a580000, 0x5ac3d018, 0x5ac3d200, 0x5b266000)
compacting perm gen total 16640K, used 16417K [0x5de70000, 0x5eeb0000, 0x61e70000)
the space 16640K, 98% used [0x5de70000, 0x5ee786e0, 0x5ee78800, 0x5eeb0000)
Local Time = Fri May 9 06:57:59 2008
Elapsed Time = 885
# HotSpot Virtual Machine Error : 11
# Error ID : 4F530E43505002EF
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
# Java VM: Java HotSpot(TM) Server VM (1.4.2_06-b03 mixed mode)
#even though i explicitly set -Xms512m -Xmx512m -Xmn250m. still i am getting container restarted even for a single user. Please help me if you have any suggestions.
Regards,
A.Surendrajain,
kindly send event viewer as well as alert<sid>.log file
It seems this issue is OS related & alert log file wont help here as it gives all DB related error messages.
Thanks
Sushil
Edited by: Sushil Suryawanshi on Jun 10, 2009 1:15 AM -
IBM Heap Dump command line utilities
Hello,
I am looking for command line parameter for IBM Heap dump location in configtool. I know we can set using environment variable IBM_HEAPDUMPDIR but I would like to get some command utilities to set it in configtool.
Thanks in Advance !Hi,
The JVM checks each of the following locations for existence and write-permission, then stores the Heapdump in the first one that is available.
The location that is specified using the file suboption on the triggered -Xdump:heap agent.
The location that is specified by the IBM_HEAPDUMPDIR environment variable, if set (_CEE_DMPTARG on z/OS(R)).
The current working directory of the JVM processes.
The location that is specified by the TMPDIR environment variable, if set.
The /tmp directory. On Windows(R), C:\temp.
Details : http://publib.boulder.ibm.com/infocenter/javasdk/v1r4m2/index.jsp?topic=/com.ibm.java.doc.diagnostics.142j9/html/contents.html
Regards,
Sandeep -
Heap dump file size vs heap size
Hi,
I'd like to clarify my doubts.
At the moment we're analyzing Sun JVM heap dumps from Solaris platform.
Observation is that heap dump file is around 1,1GB while after loading to SAP Memory Analyzer it displays statistics: "Heap: 193,656,968" which as I understood is size of heap.
After I run:
jmap -heap <PID>
I get following information:
using thread-local object allocation
Parallel GC with 8 thread(s)
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 3221225472 (3072.0MB)
NewSize = 2228224 (2.125MB)
MaxNewSize = 4294901760 (4095.9375MB)
OldSize = 1441792 (1.375MB)
NewRatio = 2
SurvivorRatio = 32
PermSize = 16777216 (16.0MB)
MaxPermSize = 67108864 (64.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 288620544 (275.25MB)
used = 26593352 (25.36139678955078MB)
free = 262027192 (249.88860321044922MB)
9.213949787302736% used
From Space:
capacity = 2555904 (2.4375MB)
used = 467176 (0.44553375244140625MB)
free = 2088728 (1.9919662475585938MB)
18.27830779246795% used
To Space:
capacity = 2490368 (2.375MB)
used = 0 (0.0MB)
free = 2490368 (2.375MB)
0.0% used
PS Old Generation
capacity = 1568669696 (1496.0MB)
used = 1101274224 (1050.2569427490234MB)
free = 467395472 (445.74305725097656MB)
70.20434109284916% used
PS Perm Generation
capacity = 67108864 (64.0MB)
used = 40103200 (38.245391845703125MB)
free = 27005664 (25.754608154296875MB)
59.75842475891113% used
So I'm just wondering what is this "Heap" in Statistic Information field visible in SAP Memory Analyzer.
When I go to Dominator Tree view, I look at Retained Heap column and I see that they roughly sum up to 193,656,968.
Could someone put some more light on it?
thanks
MichalHi Michal,
that looks indeed very odd. First, let me ask which version do you use? We had a problem in the past where classes loaded by the system class loader were not marked as garbage collection roots and hence were removed. This problem is fixed in the current version (1.1). If it is version 1.1, then I would love to have a look at the heap dump and find out if it is us.
Having said that, this is what we do: After parsing the heap dump, we remove objects which are not reachable from garbage collection roots. This is necessary, because the heap dump can contain garbage. For example, the mark-sweep-compact of the old/perm generation leaves some dead space in the form of int arrays or java.lang.Object to win time during the compacting phase: by leaving behind dead objects, not every live object has to be moved which means not every object needs a new address. This is the kind of garbage we remove.
Of course, we do not remove objects kept alive only by weak or soft references. To see what memory is kept alive only through weak or soft references, one can run the "Soft Reference Statistics" from the menu.
Kind regards,
- Andreas.
Edited by: Andreas Buchen on Feb 14, 2008 6:23 PM -
Workprocess getting restarted after DB Roll back
SAP Version : 4.7 EE
Database : DB2 UDB
OS : AIX
I have an error reported by end user saying Workprocess are getting restarted when he is running a Transaction when i checked the system log and therafter the Workprocess Log I have observed the following , I have also found the heap memory is getting full and at the same time the DB is doing a rollback, can somebody explain if this is only cause of the heap memory or its Db problem over here , attached below is the Log
Thu Feb 4 03:30:55 2010
WP has reached abap/heaplimit = 40894464 bytes
Thu Feb 4 03:33:20 2010
SelMemClass: heap quota (DIA) exceeded 2000000000 2000002464
Thu Feb 4 03:33:23 2010
TH VERBOSE LEVEL FULL
RABAX: level LEV_RX_PXA_RELEASE_MTX entered.
RABAX: level LEV_RX_PXA_RELEASE_MTX completed.
RABAX: level LEV_RX_VMIT_CLEANUP entered.
RABAX: level LEV_RX_VMIT_CLEANUP completed.
RABAX: level LEV_RX_ROLLBACK entered.
ERROR => Call to DbSlRollbackDB6 while DBIF already active in DbSlExeReadDB6*[dbsldb6.c 514]
***LOG BZY=> unexpected return code 1 calling DbSlRollba [dbcon#9 @ 2932] [dbcon 2932 ]
***LOG BYJ=> database function ROLLBACK for connection R/3 failed [dbcon#9 @ 2935] [dbcon 2935 ]
ERROR => DISTRIBUTED_TA_FAILED:
[dbcon.c 1649]
0: name = R/3, con_id = 000000000 state = ACTIVE , perm = YES, reco = NO , timeout = 000, con_max = 255, con_opt = 255, occ
***LOG R39=> ThIRollBack, db_rollback ( 016384) [thxxhead.c 12637]
in_ThErrHandle: 1
ERROR => ThIRollBack: db_rollback (step 4, th_errno 18, action 2, level 1) [thxxhead.c 9723]Karthik,
We hit the exact same problem when activating an APO integration model in ECC last week. It looks like an SQL statement that returns a very large result set is executed. While the result set is fetched the ABAP heap is exhausted. Since no more memory is available the ABAP engine abruptly cancels the execution and begins error handling. The database interface rejects to execute a ROLLBACK statement while the SQL statement is still active. As the rollback fails the task handler restarts the SAP work process and no ABAP short dump or job log entries can be written. We first attempting to resolve this problem by changing
+abap/heap_area_dia + to 4GB->8GB->12GB. However, finally, the solution that worked for us was to cleanup the change pointers and reactivating the integration model with 4GB heap.
Regards,
Sameer -
Why does hprof=heap=dump have so much overhead?
I udnerstand why the HPROF option heap=sites incurs a massive performance overhead; it has to intercept every allocation and record the current call stack.
However, I don't understand why the HPROF option heap=dump incurs so much of a performance overhead. Presumably it could do nothing until invoked, and only then trace from the system roots the entire heap.
Can anyone speak to why it doesn't work that way?
- Gordon @ IATraditionally agents like hprof had to be loaded into the virtual machine at startup, and this was the only way to capture these object allocations. The new hprof in the JDK 5.0 release (Tiger) was written using the newer VM interface JVM TI and this new hprof was mostly meant to reproduce the functionality of the old hprof from JDK 1.4.2 that used JVMPI. (Just FYI: run 'java -Xrunhprof:help' for help on hprof).
The JDK 5.0 hprof will at startup, instrument java.lang.Object.<init>() and all classes and methods that use the newarray bytecodes. This instrumentation doesn't take long and is just an initial startup cost, it's the run time and what happens then that is the performance bottleneck. At run time, as any object is allocated, the instrumented methods trigger an extra call into a Java tracker class which in turn makes a JNI call into the hprof agent and native code. At that point, hprof needs to track all the objects that are live (the JVM TI free event tells it when an object is freed), which takes a table inside the hprof agent and memory space. So if the machine you are using is low on RAM, using hprof will cause drastic slowdowns, you might try heap=sites which uses less memory but just tracks allocations based on site of allocation not individual objects.
The more likely run time performance issue is that at each allocation, hprof wants to get the stack trace, this can be expensive, depends on how many objects are allocated. You could try using depth=0 and see if the stack trace samples are a serious issue for your situation. If you don't need stack traces, then you would be better off looking at the pmap command that gets you an hprof binary dump on the fly, no overhead, then you can use jhat (or HAT) to browse the heap. This may require use of the JDK 6 (Mustang) release for this experiment, see http://mustang.dev.java.net for the free downloads of JDK 6 (Mustang).
There is an RFE for hprof to allow the tracking of allocations to be turned on/off in the Java tracker methods that were injected, at the Java source level. But this would require adding some Java APIs to control sun/tools/hprof/Tracker which is in rt.jar. This is very possible and more with the JVM TI interfaces.
If you haven't tried the NetBeans Profiler (http://www.netbeans.org) you may want to look at it. It does take an incremental approach to instrumentation and tries to focus in on the areas of interest and allows you to limit the overhead of the profiler. It works with the latest JDK 5 (Tiger) update release, see http://java.sun.com/j2se.
Oh yes, also look at some of the JVM TI demos that come with the JDK 5 download. Look in the demo/jvmti directory and try the small agents HeapTracker and HeapViewer, they have much lower overhead and the binaries and all the source is right there for you to just use or modify and customize for yourself.
Hope this helps.
-kto -
Frequent heap dumps and system load average
Dear Experts,
Performance of our development has gone worst. There has been frequent Heap Dumps and Paging, also System Load Average '/Kernel/SAPJVM/SystemProblemReporting/System Load Average' is over 133%.
We are using NW731 with EP core.
JVM parameters arememory are according to SAP recommendations
-Xms4096m
-Xmx4096m
-XX:NewSize=1365m
-XX:MaxNewSize=1365m
-XX:PermSize=1024m
-XX:MaxPermSize=1024m
-XX:NewRatio=6
SCS, Application and Database are on single host.
Number of nodes=2.
Physical memory size is 15GB
Appreciate your assistance in analyzing and fixing the performance issue.
Thanks,
KumarHi Divyanshu,
I was away on to another project for configuring change control tool.
As mentioned earlier I don't have OS access.
But could able to download Thread Dumps via NWA as mentioned by David...., but couldn't able to open them.
Opened OOM.hprof file through MAT to check leak suspects etc. I could hardly understand as it is my first Java AS project ....here is bits and pieces from the dump analyzer tool.
Leap Suspects:
Problem Suspect 1:
The thread com.sap.engine.core.thread.execution.CentralExecutor$SingleThread @ 0x58dcd248 HTTP Worker [@662359980] keeps local variables with total size 3,66,84,54,240 (89.70%) bytes.
The memory is accumulated in one instance of "java.lang.Object[]" loaded by "<system class loader>".
The stacktrace of this Thread is available. See stacktrace.
And here is the stacktrace...
HTTP Worker [@662359980]
at java.lang.OutOfMemoryError.<init>()V (OutOfMemoryError.java:25)
at java.lang.reflect.Array.newInstance(Ljava/lang/Class;I)Ljava/lang/Object; (Array.java:52)
at oracle.jdbc.driver.BufferCache.get(Ljava/lang/Class;I)Ljava/lang/Object; (BufferCache.java:226)
at oracle.jdbc.driver.PhysicalConnection.getByteBuffer(I)[B (PhysicalConnection.java:7665)
at oracle.jdbc.driver.T4C8TTIClob.read([BJJZ[CI)J (T4C8TTIClob.java:226)
at oracle.jdbc.driver.T4CConnection.getChars(Loracle/sql/CLOB;JI[C)I (T4CConnection.java:3211)
at oracle.sql.CLOB.getChars(JI[C)I (CLOB.java:459)
at oracle.jdbc.driver.OracleClobReader.needChars(I)Z (OracleClobReader.java:187)
at oracle.jdbc.driver.OracleClobReader.read([CII)I (OracleClobReader.java:142)
at java.io.Reader.read([C)I (Reader.java:123)
at com.sap.sql.jdbc.common.CommonWrappedReader.read([C)I (CommonWrappedReader.java:108)
at com.technidata.core.persistency.sql.QueryResult.getString(Ljava/lang/String;)Ljava/lang/String; (QueryResult.java:190)
at com.technidata.em.facility.controller.PC_EmissionRes.getEmissionResBo(Lde/technidata/ecs/persist/sql/persistency/iface/IQueryResult;)Lcom/technidata/em/facility/detail/EmissionResBo; (PC_EmissionRes.java:2235)
at com.technidata.em.facility.controller.PC_EmissionRes.readData(JJJJLjava/sql/Date;Ljava/sql/Date;Ljava/lang/String;ZJI)Ljava/util/List; (PC_EmissionRes.java:682)
at com.technidata.em.facility.controller.PC_EmissionRes.readData(JJJLjava/sql/Date;Ljava/sql/Date;ZI)Ljava/util/List; (PC_EmissionRes.java:599)
at com.technidata.em.facility.controller.PC_EmissionRes.readData(Lcom/technidata/em/facility/TypeCapArgument;)Ljava/util/List; (PC_EmissionRes.java:573)
at com.technidata.em.facility.ESourceBo.getTypeCapData(Ljava/lang/String;Lcom/technidata/em/facility/TypeCapArgument;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List; (ESourceBo.java:707)
at com.technidata.em.facility.mgmt.EmissionResTable.initialize(Z)V (EmissionResTable.java:1793)
at com.technidata.em.facility.mgmt.EmissionResTable.init(Lcom/sap/tc/webdynpro/progmodel/api/IWDCustomEvent;Ljava/lang/String;)V (EmissionResTable.java:1454)
at com.technidata.em.facility.mgmt.wdp.InternalEmissionResTable.wdInvokeEventHandler(Ljava/lang/String;Lcom/sap/tc/webdynpro/progmodel/api/IWDCustomEvent;)Ljava/lang/Object; (InternalEmissionResTable.java:723)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(Ljava/lang/String;Lcom/sap/tc/webdynpro/progmodel/api/IWDCustomEvent;)Ljava/lang/Object; (DelegatingView.java:142)
at com.sap.tc.webdynpro.progmodel.components.Component.fireEvent(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V (Component.java:492)
at com.technidata.em.facility.mgmt.wdp.InternalTabsInterface.wdFireEventInitTab(Ljava/lang/String;)V (InternalTabsInterface.java:398)
at com.technidata.em.facility.mgmt.EmissionResWinInterfaceView.onPlugIn(Lcom/sap/tc/webdynpro/progmodel/api/IWDCustomEvent;)V (EmissionResWinInterfaceView.java:97)
at com.technidata.em.facility.mgmt.wdp.InternalEmissionResWinInterfaceView.wdInvokeEventHandler(Ljava/lang/String;Lcom/sap/tc/webdynpro/progmodel/api/IWDCustomEvent;)Ljava/lang/Object; (InternalEmissionResWinInterfaceView.java:95)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingWindow.invokeEventHandler(Ljava/lang/String;Lcom/sap/tc/webdynpro/progmodel/api/IWDCustomEvent;)Ljava/lang/Object; (DelegatingWindow.java:121)
please help me fix the performance issue. And let me know if I can provide some details to help you analyse further.
Thanks,
Kumar -
Java 1.4.2. - full heap dump?
Hello,
Is there any possibility to generate full heap dump (core dump) in java 1.4.2. on demand?
Best regards,
PeterIf you are in Unix platform, you can use this script to have thread dump.
I am not sure whether you can generate coredump with out an application crash .
kill -3 <java pid> will provide full stacktrace of the java process thread dump.
Note: kill -3 will not terminate the java process, it will only generate full stacktrace in your log file and safe to use while the java process is running.
you can get the java process id, using this unix cmd "ps -ef | grep java" .
#!/bin/ksh
[ $# -le 0 ] && echo "USAGE: $0 <pid>" && exit
for i in 1 2
do
DT=`date +%Y%m%d_%H%M`
prstat -Lmp $1 1 1 >> prstat_Lmp_$i_$DT.dmp
pstack $1 >> pstack_$i_$DT.dmp
kill -3 $1
echo "prstat, pstack, and thread dump done. #" $i
sleep 1
echo "Done sleeping."
done
Pls go through some of this links, this will provide you on how to debug the issue with the logs generated by the scripts:
http://support.bea.com/application_content/product_portlets/support_patterns/wls/UnexpectedHighCPUUsageWithWLSPattern.html
http://www.unixville.com/~moazam/stories/2004/05/18/debuggingHangsInTheJvm.html -
JVMPI_GC_ROOT_MONITOR_USED - what does this mean in a heap dump?
I'm having some OutOfMemory errors in my application, so I turned on a profiler, and took a heap dump before and after an operation that is blowing up the memory.
What changes after the operation is that I get an enormous amount of data that is reported under the node JVMPI_GC_ROOT_MONITOR_USED. This includes some Oracle PreparedStatements which are holding a lot of data.
I tried researching the meaning of JVMPI_GC_ROOT_MONITOR_USED, but found little help. Should this be objects that are ready for garbage collection? If so, they are not being garbage collected, but I'm getting OutOfMemoryError instead (I thought the JVM was supposed to guarantee GC would be run before OutOfMemory occurred).
Any help on how to interpret what it means for objects to be reported under JVMPI_GC_ROOT_MONITOR_USED and any ways to eliminate those objects, will be greatly appreciated!
ThanksI tried researching the meaning of
JVMPI_GC_ROOT_MONITOR_USED, but found little help.
Should this be objects that are ready for garbage
collection? Disclaimer: I haven't written code to use JVMPI, so anything here is speculation.
However, after reading this: http://java.sun.com/j2se/1.4.2/docs/guide/jvmpi/jvmpi.html
It appears that the "ROOT" flags in a level-2 dump are used with objects that are considered a "root reference" for GC (those references that are undeniably alive). Most descriptions of "roots" are static class members and variables in a stack frame. My interpretation of this doc is that objects used in a synchonize() statement are also considered roots, at least for the life of the synchronized block (makes a lot of sense when you think about it). -
AD4J: Unable to start Heap Dump due to OS Error
When Java 'Heap Dump' is requested, the following message is shown:
Unable to start Heap Dump due to OS Error.
Details of the monitored JDK and application server are given below:
JDK: Sun JDK 1.4.2_08 on Solaris 9
Application Server: WebLogic 8.1 SP4
1. What could be the possible cause? No errors are logged in jamserv/logs/error_log. Is there any way to enable detailed logging?
2. Each time the heap dump is requested, a file of the format heapdump<n> gets created in /tmp (e.g. /tmp/heapdump12.txt). If you see the file, it contains the following:
a) a line containing summary of the heap usage, and
b) stack traces of all the threads
Thanks!Wrong Forum?
Maybe you are looking for
-
Provisioning: Users from OIM to Active Directory
Dear Experts! I am trying to setup provisionig from OIM to AD. I just want to provision Users from OIM to AD. I am going through this documentation/tutorial: http://download.oracle.com/docs/cd/E11223_01/doc.910/e11197/deploy.htm#insertedID0 i also re
-
How can i save the acr changes i make to jpegs (not as sidecar xmps)?
Hi Guys! I have been a full-time pro photog for 16 years and yes, yes, I always shoot in raw. Except on my cameraphone. I am on a pc. We have hundreds of pics that my family took on cameraphones on a recent cruise (when we didn't feel like lug
-
Hello Experts, I have deployed an ADF application on Oracle Java Cloud Service - SaaS Extension and also deployed database objects from local environment to cloud using JDeveloper. I can see the cloud database has tables and data which I have deploye
-
I have recently upgraded to BT Infinity. Engineer placed home hub close to wall near main phone box on ground floor. Reception on ground floor is good but lousy reception in certain rooms upstairs. House is large detached house but not enormous. I h
-
How to protect java source code?
Hi everybody I love Java but I think that people can decompile my class file to take my source code!Like this program http://kpdus.tripod.com/jad.html How to protect our source code?Even you use Jar files, they can unzip them and decompile! Thanks in