Benny Luo
2006-Mar-16 03:27 UTC
[dtrace-discuss] Re: Can dtrace agent of JDK be used in IBM Websphere?
Hi, Yufei: Thanks for your kind action. Let me centralize all the harm-hearted guys and involved alias in one email. Below is the answer of your question (Can you reply with more details on what failed? Does websphere use an IBM or Sun developed SDK? ) 1. Seems IBM bundled JDK can not detect agent options, like below: If use Sun JDK 1.5, no problem: /usr/jdk/jdk1.5.0_06/bin/java *-Xrundvmti:all* -version *Picked up JAVA_TOOL_OPTIONS: -Xrundvmti:all* java version "1.5.0_06" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode) If use IBM Websphere bundled JDK 1.4, can''t detect the agent options: /opt/IBM-2/WebSphere/AppServer/java/bin/java *-Xrundvmpi:all* -version java version "1.4.2_05" Java(TM) 2 Runtime Environment, Standard Edition (IBM build 1.4.2_05-b04 2004102 9) Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode) IBM Java ORB build orb142-20041021 XML build XSLT4J Java 2.6.3 XML build XmlCommonsExternal 1.2.04 XML build XML4J 4.3.3 2. Now I have tried to enable the JVM option -Xrundvmpi:all in IBM webshpere admin console. It seems worked, but the server startup time obviously increased, and when accessed the web page and admin console very slow, sometimes occured timeout error. When use ./java_method.d to trace the process of Websphere within the period of startup time. It occured below error: Content of java_method.d: #!/usr/sbin/dtrace -s dvm$target:::method-entry { self->ts[copyinstr(arg0),copyinstr(arg1)] = vtimestamp; } dvm$target:::method-return { @ts[copyinstr(arg0),copyinstr(arg1)] = sum(vtimestamp - self->ts[copyinstr(arg0),copyinstr(arg1)]); } Error message: .................. dtrace: error on enabled probe ID 1 (ID 5644: dvm2514:libdvmpi.so:cbMethodEntry: method-entry): invalid address (0x0) in action #1 at DIF offset 64 dtrace: error on enabled probe ID 2 (ID 5639: dvm2514:libdvmpi.so:cbMethodExit:m ethod-return): invalid address (0x0) in action #3 at DIF offset 28 dtrace: error on enabled probe ID 1 (ID 5644: dvm2514:libdvmpi.so:cbMethodEntry: method-entry): invalid address (0x0) in action #1 at DIF offset 64 dtrace: error on enabled probe ID 2 (ID 5639: dvm2514:libdvmpi.so:cbMethodExit:m ethod-return): invalid address (0x0) in action #3 at DIF offset 28 dtrace: error on enabled probe ID 1 (ID 5644: dvm2514:libdvmpi.so:cbMethodEntry: method-entry): invalid address (0x0) in action #1 at DIF offset 64 dtrace: error on enabled probe ID 2 (ID 5639: dvm2514:libdvmpi.so:cbMethodExit:m ethod-return): invalid address (0x0) in action #3 at DIF offset 28 ................. Long time passed, press ctrl-c: com.ibm.websphere.models.config.loggingservice.http.impl.HttpPackageImpl <cli nit> 30583 com.ibm.websphere.models.config.topology.cell.impl.CellPackageImpl <clinit> 30833 com.ibm.websphere.models.config.variables.impl.VariablesPackageImpl <clinit> 32834 com.ibm.websphere.models.config.host.impl.HostPackageImpl <clinit> 33333 com.ibm.websphere.models.config.adminservice.impl.AdminservicePackageImpl <cl init> 33667 com.ibm.websphere.models.config.loggingservice.ras.impl.RasPackageImpl <clini t> 34750 com.ibm.websphere.models.config.topology.nodegroup.impl.NodegroupPackageImpl <clinit> 34916 com.ibm.websphere.models.config.namestore.impl.NamestorePackageImpl <clinit> 35166 com.ibm.websphere.models.config.ipc.impl.IpcPackageImpl <clinit> Use another java_gc.d to trace the process, seems no error founded: Content of java_gc.d #!/usr/sbin/dtrace -s dvm$target:::gc-start { self->ts = vtimestamp; } dvm$target:::gc-finish { printf("GC ran for %d nsec\n", vtimestamp - self->ts); } dtrace: script ''./java_gc.d'' matched 2 probes CPU ID FUNCTION:NAME 0 5637 cbGarbageCollectionFinish:gc-finish GC ran for 1633376422 nsec 0 5637 cbGarbageCollectionFinish:gc-finish GC ran for 1115770417 nsec 0 5637 cbGarbageCollectionFinish:gc-finish GC ran for 3420723242 nsec 0 5637 cbGarbageCollectionFinish:gc-finish GC ran for 1290449000 nsec And again, the server startup and response time delayed obviously, does anybody have some suggestion or hints? Thanks in advance. Benny Luo ====== Yufei Zhu wrote:> Hi Benny, > > To absolutely make sure, I have forwarded you question to > dtrace-discuss at opensolaris.org, normally you would get very quick > reponse from the alias. > > Thanks, > Yufei > > > Benny Luo wrote On 03/14/06 23:56,: > >> Hi, Guru: >> >> Sorry for widly broadcast, I am facing a problem to help my customer to >> migrate their IBM websphere 6.0.2 to run on solaris 10 platform. >> >> Cu is eager to use the dtrace agent of JDK >> (https://solaris10-dtrace-vm-agents.dev.java.net/ ) to benefit their IBM >> websphere server, I am not sure whether we can use this agent in IBM >> websphere bundled JDK whose version is JDK (build 1.4.2_05-b04), in >> fact, I was trying to use the agent with IBM websphere server bundled >> JDK on my machine, but it failed. >> >> So can anybody help me to clarify this situation? if no, please help to >> explain, if yes, please kindly let me know how to achieve it. >> >> Thanks in advance. >> >> > >-- ------------------------------------------------------------------------------- /\ Thanks and Regards \\ \ \ \\ / Benny Luo / \/ / / / / \//\ \//\ / / .--. / / /\ / (( '' _ Senior Technical Consultant / \\ \ ))// /// )) Sun China Engineering & Research Institute \ \\ (\_.''((_/// // Marketing Development Engineering \/ microsystems Sun Microsystems (China) Co., Ltd.