`
pengfeng
  • 浏览: 230435 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

利用weblogic.Admin以及WLST进行thread dump

阅读更多

转自:http://bbs.weblogicfans.net/redirect.php?tid=237&goto=lastpost

 

1、weblogic816

C:\Documents and Settings\tony>java -cp E:\bea816\weblogic81\server\lib\weblogic.jar weblogic.Admin -url localhost:7001 -username weblogic -password weblogic THREAD_DUMP 

Thread Dump has been printed to the servers standard out (by default, the shell 
in which the server is running). 

可以看到打印成功! 

但是在9版本并不能使用该方法


2、weblogic923

启动server,打开wlst.cmd

连接到启动的AdminServer
Connect(‘weblogic’,’weblogic’,’t3://127.0.0.1:7001’)

threadDump()

可以看到写到了一个叫Thread_Dump_AdminServer.txt的文件里(该文件
存在wlst.cmd这个脚本同样的目录里,如E:\bea\weblogic92\common\bin\)。

再次运行threadDump(),将会覆盖该文件。

因为目前是只启动了一个server,所以在进行dump的时候并没指定server,默认就对admin做了dump.


再启动一个server1.现在再次用不指定server的threadDump()仍旧只会产生admin的dump.
利用help命令,发现还有一个指定server的dump方法。
threadDump([writeToFile], [fileName], [serverName])
注意里面有个属性是是否写到文件,我这里是true.所以生成了dump文件.

3、weblogic10.0 for solarisx86

在soalris10上(weblogic10.0)操作wlst工具来进行线程堆栈成功。 

wls:/mydomain/serverConfig> threadDump(writeToFile='true', fileName='/opt/bea10/threaddump1.txt') 

...................... 
........................ 
....................... 



"Reference Handler" waiting for lock java.lang.ref.Reference$[email=Lock@c2bce4]Lock@c2bce4[/email] WAITING 
        java.lang.Object.wait(Native Method) 
        java.lang.Object.wait(Object.java:474) 
        java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) 

"main" waiting for lock [email=weblogic.t3.srvr.T3Srvr@ff2b7c]weblogic.t3.srvr.T3Srvr@ff2b7c[/email] WAITING 
        java.lang.Object.wait(Native Method) 
        java.lang.Object.wait(Object.java:474) 
        weblogic.t3.srvr.T3Srvr.waitForDeath(T3Srvr.java:747) 
        weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:396) 
        weblogic.Server.main(Server.java:67) 


The Thread Dump for server AdminServer 
has been successfully written to /opt/bea10/threaddump1.txt 


利用py文件来生成thread dump

(1).在已经进入了wlst的环境下 
wls:/testDomain/serverConfig> execfile('/opt/bea10/user_projects/domains/testDomain/bin/threaddumpadmin.py') 

Connecting to t3://192.168.0.55:7001 with userid weblogic ... 
Successfully connected to Admin Server 'AdminServer' that belongs to domain 'testDomain'. 

Warning: An insecure protocol was used to connect to the 
server. To ensure on-the-wire security, the SSL port or 
Admin port should be used instead. 

Thread dump for the running server: AdminServer 
"[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE 
        sun.management.ThreadImpl.getThreadInfo0(Native Method) 
        sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:142) 
        weblogic.platform.VM15.threadDumpAsString(VM15.java:22) 
.................... 
The Thread Dump for server AdminServer 
has been successfully written to /opt/bea10/threaddump2.txt 


Exiting WebLogic Scripting Tool. 


(2).没有进入wlst的情况 
-bash-3.00# java -cp /opt/bea10/wlserver_10.0/server/lib/weblogic.jar weblogic.WLST threaddumpadmin.py 

Initializing WebLogic Scripting Tool (WLST) ... 

Welcome to WebLogic Server Administration Scripting Shell 

Type help() for help on available commands 

Connecting to t3://192.168.0.55:7001 with userid weblogic ... 
Successfully connected to Admin Server 'AdminServer' that belongs to domain 'testDomain'. 

Warning: An insecure protocol was used to connect to the 
server. To ensure on-the-wire security, the SSL port or 
Admin port should be used instead. 

Thread dump for the running server: AdminServer 
"[STANDBY] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock [email=weblogic.work.ExecuteThread@18a290f]weblogic.work.ExecuteThread@18a290f[/email] WAITING 
        java.lang.Object.wait(Native Method) 

.................... 

The Thread Dump for server AdminServer 
has been successfully written to /opt/bea10/threaddump2.txt 


Exiting WebLogic Scripting Tool. 


下面是 threaddumpadmin.py的内容: 
connect('weblogic','weblogic','t3://192.168.0.55:7001') 
threadDump(writeToFile='true', fileName='/opt/bea10/threaddump3.txt') 
exit()

 

 

 

 

 


注:

WLS816利用weblogic.Admin生成thread_dump,仅支持的SUN与JRockit,因为它是使用bea提供的native jvm hook生成的,对于HP或IBM的JDK它是不支持的。
进行thread dump,在unix环境下,最保险的办法是kill -3。因为无论是weblogic.Admin还是wslt,它都是在目标jvm之外的,如果碰到一些特别的场景,如线程耗尽那些,可能这些命令不能正常工作。

分享到:
评论

相关推荐

    weblogic.xml配置详解

    ### WebLogic.xml配置详解 #### 一、概述 `weblogic.xml` 文件是 WebLogic Server 应用服务器中专门用于自定义和配置部署在该服务器上的 Web 应用程序的一个重要配置文件。它允许开发人员和系统管理员针对 ...

    weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB 类型转换解决办法

    Oracle CLOB 类型转换的问题,可以通过反射机制来调用 `weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB` 类的 `getVendorObj()` 方法,该方法可以返回一个 `oracle.sql.CLOB` 类型的对象,从而避免了直接进行类型转换...

    weblogic.xml配置详解.txt

    weblogic.xml配置详解.txt

    weblogic.jdbc.vendor.oracle.OracleThinBlob jar包下载

    `weblogic.jdbc.vendor.oracle.OracleThinBlob`是Oracle JDBC驱动的一个组件,主要用于处理Oracle数据库中的Blob字段。"Thin"模式意味着它是一种轻量级的驱动,不依赖于Oracle客户端库,而是直接通过网络协议与...

    weblogic.xml详解

    weblogic.xml详解weblogic.xml详解weblogic.xml详解weblogic.xml详解weblogic.xml详解weblogic.xml详解weblogic.xml详解weblogic.xml详解weblogic.xml详解weblogic.xml详解weblogic.xml详解weblogic.xml详解weblogic...

    weblogic.jar/wlclient.jar/wls-api.jar相关jar包

    例如,如果只需要运行时连接到WebLogic Server进行数据交互,那么可能只需要`weblogic.jar`;而如果需要在客户端程序中实现对服务器的管理操作,`wlclient.jar`则必不可少;对于开发WebLogic的插件或者管理工具,`...

    weblogic.jar

    本节将详细探讨`weblogic.jar`及其相关的jar包在WebLogic中的作用。 `weblogic.jar`是WebLogic Server的核心库文件,包含了运行WebLogic Server所需的各种类和资源。这个jar包包括了服务器的启动类、管理接口、容器...

    weblogic12c安装及WLST脚本创建域(domain)

    本教程将详细阐述WebLogic 12c的安装过程,并介绍如何使用WLST(WebLogic Scripting Tool)来创建一个自定义的域(domain)。 一、WebLogic 12c安装步骤 1. **下载与准备**:首先,你需要从Oracle官方网站下载...

    weblogic.jdbc.vendor.oracle.OracleResultSet jar包

    其中,WebLogic的JDBC模块是连接数据库的关键组件,而`weblogic.jdbc.vendor.oracle.OracleResultSet`则是这个模块中的一个重要类,主要用于处理Oracle数据库查询结果集。 `OracleResultSet`是WebLogic针对Oracle...

    weblogic.xml

    weblogic.xml是WebLogic Server的核心组件,它提供了对Web应用程序进行深度定制的可能。理解并熟练掌握weblogic.xml的配置,能够有效提升应用的性能、安全性和可维护性。无论是开发人员还是系统管理员,都需要对其有...

    WebLogic Scripting Tool (WLST) 介紹

    - **设置WLST环境**:包括配置JDK路径、添加WebLogic Server的类路径,以及指定域目录等。 - **执行WLST**:通过执行`wlst.sh`或`wlst.cmd`启动脚本启动WLST,根据工作模式连接到服务器。 - **退出WLST**:执行`...

    weblogic API FOR [weblogic.jar]

    1. `weblogic.management.AdminService`:提供与WebLogic Server进行交互的基本接口,如获取服务器状态、执行管理操作等。 2. `weblogic.management.Deployer`:用于部署、更新和卸载应用程序。 3. `weblogic....

    weblogic.xml说明

    《weblogic.xml部署文件详解》 weblogic.xml是Oracle WebLogic Server中用于定义Web应用程序部署特性的核心配置文件。这个文件包含了服务器特定的部署描述符元素,这些元素详细描述了Web应用如何在WebLogic环境中...

    weblogic.xml配置详解,web服务器相关配置.zip

    现在,我们来详细解析`weblogic.xml`中的配置元素以及与Web服务器相关的设置。 1. **部署描述符结构** `weblogic.xml`遵循J2EE的部署描述符规范,其基本结构包括`<weblogic-web-app>`根元素,以及一系列子元素如`...

    ant-weblogic.jar.zip

    本文将深入探讨Ant与Oracle WebLogic Server的集成,以及如何利用"ant-weblogic.jar.zip"这个压缩包来优化这一过程。 首先,让我们了解两个核心概念:Ant和WebLogic。Ant是一个由Apache基金会开发的Java构建工具,...

    weblogic.rar

    9. **Web服务**:WebLogic支持WSDL、SOAP和WS-Security等Web服务标准,开发者可以利用`weblogic.jar`中的类来创建和消费Web服务。 10. **集成开发环境(IDE)插件**:Eclipse、IntelliJ IDEA等主流IDE都有针对...

Global site tag (gtag.js) - Google Analytics