on 03-06-2010 3:01 PM
Hi There,
Our application is built on SAP application server and we are observing memory leak, to identify root cause, I was trying to use either jProfiler or yourkit but running into all sorts of problem.
With yourkit I am getting problem at app server start up and I am unable to resolve that.
With jProfiler app server does starts fine and do see log statement on std out for the port entry, but jProfiler is unable to connect to the server running in local host, wondering if any of you ran into such issue.
JVM argument I am using at the server starts ups are
with yourkit : -agentpath:C:\PROGRA1\YOURKI1.23\bin\win32\yjpagent.dll=disablestacktelemetry,disableexceptiontelemetry,delay=10000,debugjni
This is throwing error on server start up
JVMX version - May 26 2009 23:24:30 - 51_REL - optU - windows x86 - 6 - bas2:120933 (mixed mode)
[YourKit Java Profiler 8.0.23] JVMTI version 3001016a; 5.1.037; SAP AG; May 26 2009 23:24:30 - 51_REL - optU - windows x86 - 6 - bas2:120933 (mixed mode); Windows XP; 32-bit JVM
(CompilerOracle read from file C:\usr\sap\U05\SYS\exe\jvm\NTI386\sapjvm_5.1.037\sapjvm_5\jre\.hotspot_compiler )
Exception assertJNI failed JNIUtils.cpp 55
with jProfiler : -agentpath:C:\PROGRA1\JPROFI1\bin\windows\jprofilerti.dll=port=8849
I also tried in built NWDS profiler plugin, but I feel it doesn't give all the flexibility that other vendors provide, its good in its own but difficult to locate root cause of memory leak etc.
Any help or suggestion in this regard is highly appreciated.
Thanks
-Amitabh
You should do a heapdump and check which application is using the most memory. Check [Java Memory Analysis|http://wiki.sdn.sap.com/wiki/display/Java/JavaMemoryAnalysis]
And search for Memory Analyzer in SAP notes.
Good luck, Michael
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks every one we manage to resolve the problem. It was more tied with incorrect usage of static variables.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Also try port 50026 but you need to open the debug port
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
You can basically trigger a thread dump (from MMC if using windows) or from Solution Manager Diagnostics. You need to set some parameters so that when you trigger a thread dump a heap dump will also get triggered. It will be a hprof file (may be gigabyte in memory). You can anslyse the heap dump (HPROF file ) in memory analyser.Visit http://wiki.sdn.sap.com/wiki/display/Java/Java%20Memory%20Analysis for more info
If you are using NW 7.1 or higher you can use the JVM profiler to analyse memroy leaks in the runtime.For this you need to open the debug port 50026 (if using windows from MMC). Then start the JVM profiler (which is eclipse based), connect to the system, start the application and check the data collected in the JVM profiler. It will allow you to analyse objects which are holding big chunks of memory
You can download it from http://wiki.sdn.sap.com/wiki/display/Java/Java+Profiling
Thanks
Jyotish
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Amithabh,
I would recommend you to install wily introscope and do the java profiling. It is offered free for SAP customers.
Regards,
Mathan.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.