From: Qi L. <li...@cn...> - 2009-02-17 08:57:12
|
Hi, We tried JIT profiling with oprofile 0.9.4, and found two problems. 1) IBM JDK 1.5.0 - No source line number information can be got in opm file. We noticed that some JVMs cannot provide debug information according to http://oprofile.sourceforge.net/doc/getting-jit-reports.html. But as I know, AIX tprof can get source line number information from IBM JVM. So I think IBM JVM can provide debug information. 2) SUN JDK 1.5.0 - Source file in opm file is wrong. Here is one JIT symbol java.lang.String.indexOf, but its file name is PrintStream.java. <symboldata id="486" name="int java.lang.String.indexOf(char[], int, int, char[], int, int, int)" file="PrintStream.java" line="742" startingaddr="b28a58e0"/> Here are steps we run oprofile. 1.Install oprofile command: # ./configure --with-kernel-support --with-java=/opt/ibm/java2-i386-50 # make # make install 2.Run command: # oprofiled -v oprofile 0.9.4 compiled on Jan 9 2009 06:13:35 # opcontrol --event=default # opcontrol --deinit # opcontrol --init # opcontrol --reset # opcontrol --setup --separate=all # opcontrol --no-vmlinux # export LD_LIBRARY_PATH=/usr/local/lib/oprofile # export PATH=/opt/ibm/java2-i386-50/bin:$PATH # opcontrol --start # java -version java version "1.5.0" Java(TM) 2 Runtime Environment, Standard Edition (build pxi32dev-20081129 (SR9-0 )) IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20081129 (JIT enabled) J9VM - 20081126_26240_lHdSMr JIT - 20081112_1511ifx1_r8 GC - 200811_07) JCL - 20081128 # java -agentlib:jvmti_oprofile=debug MultiThread.class # opcontrol --stop # opcontrol --dump # opreport -l /opt/ibm/java2-i386-50/bin/java -g -d --xml -o Multi_x86.opm Thanks! Best Regards, Qi Liang (梁祺) System Performance Tools China Systems and Technology Lab, IBM Shanghai Tel : 86-21-60928135 Email: li...@cn... http://cs.opensource.ibm.com/projects/vpa http://www.alphaworks.ibm.com/tech/vpa |
From: Daniel H. <dh...@li...> - 2009-02-17 13:47:08
|
Qi Liang wrote: > > Hi, > > We tried JIT profiling with oprofile 0.9.4, and found two problems. > > 1) IBM JDK 1.5.0 - No source line number information can be got in opm > file. > We noticed that some JVMs cannot provide debug information according > to http://oprofile.sourceforge.net/doc/getting-jit-reports.html. But > as I know, AIX tprof can get source line number information from IBM > JVM. So I think IBM JVM can provide debug information. > > 2) SUN JDK 1.5.0 - Source file in opm file is wrong. > Here is one JIT symbol java.lang.String.indexOf, but its file name is > PrintStream.java. > <symboldata id="486" name="int java.lang.String.indexOf(char[], int, > int, char[], int, int, int)" file="PrintStream.java" line="742" > startingaddr="b28a58e0"/> > Hi Qi, I know about the differences between IBMs and SUNs JDK behavior at several points. Let me investigate your problem. > Here are steps we run oprofile. > > 1.Install oprofile command: > # ./configure --with-kernel-support --with-java=/opt/ibm/java2-i386-50 > # make > # make install > > 2.Run command: > # oprofiled -v > oprofile 0.9.4 compiled on Jan 9 2009 06:13:35 > > # opcontrol --event=default > # opcontrol --deinit > # opcontrol --init > # opcontrol --reset > # opcontrol --setup --separate=all > # opcontrol --no-vmlinux > # export LD_LIBRARY_PATH=/usr/local/lib/oprofile > # export PATH=/opt/ibm/java2-i386-50/bin:$PATH > # opcontrol --start > # java -version > java version "1.5.0" > Java(TM) 2 Runtime Environment, Standard Edition (build > pxi32dev-20081129 (SR9-0 )) > IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 > j9vmxi3223-20081129 (JIT enabled) > J9VM - 20081126_26240_lHdSMr > JIT - 20081112_1511ifx1_r8 > GC - 200811_07) > JCL - 20081128 > > # java -agentlib:jvmti_oprofile=debug MultiThread.class > # opcontrol --stop > # opcontrol --dump > # opreport -l /opt/ibm/java2-i386-50/bin/java -g -d --xml -o Multi_x86.opm > Did you do all the steps (i.e. make, install, start, run) as a non-root or root user? Kind regards, Daniel > Thanks! > > Best Regards, > > Qi Liang (梁祺) > System Performance Tools > China Systems and Technology Lab, IBM Shanghai > Tel : 86-21-60928135 > Email: li...@cn... > > http://cs.opensource.ibm.com/projects/vpa > http://www.alphaworks.ibm.com/tech/vpa > |
From: Maynard J. <may...@us...> - 2009-02-17 20:10:02
|
Qi Liang wrote: > Hi, > > We tried JIT profiling with oprofile 0.9.4, and found two problems. > > 1) IBM JDK 1.5.0 - No source line number information can be got in opm > file. > We noticed that some JVMs cannot provide debug information according to > http://oprofile.sourceforge.net/doc/getting-jit-reports.html. But as I > know, AIX tprof can get source line number information from IBM JVM. So I > think IBM JVM can provide debug information. I found out that, in order to provide source file/line number info from the IBM JVM, the tprof tool is making use of an undocumented interface that is only supported by IBM J9. And I think this is only available with JVMPI, which was deprecated in Java 1.5 and no longer available in 1.6. We won't be adding such a product-specific capability to our JVMPI profiling agent. -Maynard > > 2) SUN JDK 1.5.0 - Source file in opm file is wrong. > Here is one JIT symbol java.lang.String.indexOf, but its file name is > PrintStream.java. > <symboldata id="486" name="int java.lang.String.indexOf(char[], int, int, > char[], int, int, int)" file="PrintStream.java" line="742" > startingaddr="b28a58e0"/> > > Here are steps we run oprofile. > > 1.Install oprofile command: > # ./configure --with-kernel-support > --with-java=/opt/ibm/java2-i386-50 > # make > # make install > > 2.Run command: > # oprofiled -v > oprofile 0.9.4 compiled on Jan 9 2009 06:13:35 > > # opcontrol --event=default > # opcontrol --deinit > # opcontrol --init > # opcontrol --reset > # opcontrol --setup --separate=all > # opcontrol --no-vmlinux > # export LD_LIBRARY_PATH=/usr/local/lib/oprofile > # export PATH=/opt/ibm/java2-i386-50/bin:$PATH > # opcontrol --start > # java -version > java version "1.5.0" > Java(TM) 2 Runtime Environment, Standard Edition (build > pxi32dev-20081129 (SR9-0 )) > IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 > j9vmxi3223-20081129 (JIT enabled) > J9VM - 20081126_26240_lHdSMr > JIT - 20081112_1511ifx1_r8 > GC - 200811_07) > JCL - 20081128 > > # java -agentlib:jvmti_oprofile=debug MultiThread.class > # opcontrol --stop > # opcontrol --dump > # opreport -l /opt/ibm/java2-i386-50/bin/java -g -d --xml -o > Multi_x86.opm > > Thanks! > > Best Regards, > > Qi Liang (梁祺) > System Performance Tools > China Systems and Technology Lab, IBM Shanghai > Tel : 86-21-60928135 > Email: li...@cn... > > http://cs.opensource.ibm.com/projects/vpa > http://www.alphaworks.ibm.com/tech/vpa > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA > -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise > -Strategies to boost innovation and cut costs with open source participation > -Receive a $600 discount off the registration fee with the source code: SFAD > http://p.sf.net/sfu/XcvMzF8H > > > ------------------------------------------------------------------------ > > _______________________________________________ > oprofile-list mailing list > opr...@li... > https://lists.sourceforge.net/lists/listinfo/oprofile-list |