cancel
Showing results for 
Search instead for 
Did you mean: 

Help on profiling AS Java running on Netweaver 7. SP8

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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

Answers (4)

Answers (4)

Former Member
0 Kudos

Thanks every one we manage to resolve the problem. It was more tied with incorrect usage of static variables.

Former Member
0 Kudos

Also try port 50026 but you need to open the debug port

Former Member
0 Kudos

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

Former Member
0 Kudos

Dear Amithabh,

I would recommend you to install wily introscope and do the java profiling. It is offered free for SAP customers.

Regards,

Mathan.