出处:http://t3.seeblog.net/?p=38
我们项目上使用的AIX5.3和weblogic10.3,近期一直有服务器出现Weblogic进程占用CPU过高。
原来都是用gdb或dbx来跟踪问题。但是生产环境不便进行这种操作,后来找到了通过ps和分析javacore来查找问题的方法,分享个大家。
1、首先,要通过ps 命令查看制定进程对应的线程状态,例如:
ps -mp -o <WebLogic 进程号> THREAD
例如:ps -mp 30140 -o THREAD
结果如下:
USER PID PPID TID ST CP PRI SC WCHAN F TT BND COMMAND
incs 30140 33284 – A 585 60 160 * 242001 – - /usr/java6/bin/java -Xms1024m -Xmx1536m -Dfile.encoding=GBK -da -Dplatform.home=/app/bea/wlserver_10.3 -Dwls.home=/app/bea/wlserver_10.3/server -Dweblogic.home=/app/bea/wlserver_10.3/server -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/app/bea/patch_wls1030/profiles/default/sysext_manifest_classpath:/app/bea/patch_cie660/profiles/default/sysext_manifest_classpath -Dweblogic.threadpool.MinPoolSize=50 -Dweblogic.threadpool.MaxPoolSize=100 -Dweblogic.Name=AdminServer -Djava.security.policy=/app/bea/wlserver_10.3/server/lib/weblogic.policy weblogic.Server
- – - 36885 S 0 82 1 ea004820 8410400 – - -
- – - 37603 S 0 82 1 ea004920 8410400 – - -
- – - 38105 S 0 60 1 ea004a20 8410404 – - -
- – - 43117 S 21 60 1 – 418400 – - -
- – - 44007 S 0 82 1 ea0055a0 8410400 – - -
- – - 44121 S 0 82 1 ea005620 8410400 – - -
- – - 44673 S 8 60 1 ea005720 8410400 – - -
- – - 45169 S 0 82 1 ea005820 8410400 – - -
- – - 45535 R 20 60 0 – 400000 – - -
- – - 45707 S 1 82 1 35c01fa0 c10400 – - -
- – - 46193 S 0 82 1 ea005a20 8410400 – - -
- – - 46865 S 0 82 1 ea005ba0 8410400 – - -
- – - 47331 S 0 82 1 ea005c20 8410400 – - -
- – - 47507 R 19 60 1 30117d28 c00000 – - -
- – - 47757 S 0 82 1 ea005d20 8410400 – - -
- – - 48057 S 0 82 1 ea005da0 8410400 – - -
- – - 49681 S 0 82 1 ea006120 8410400 – - -
- – - 50095 S 0 82 1 ea0061a0 8410400 – - -
。。。。。。
2、同时手工生成threaddump文件,执行 kill -3 <WebLogic 进程号>
这样会在你的domain目录下生成类似 javacore.20100318.092950.30140.0022.txt 之类的文本文件
3、同样的操作,每个3-5秒钟重复做几次
4、分析ps 得到的结果中“CP” 一列,数值较高的就是当前占用CPU较多的线程,例如上面列表中的TID为“43117”的 “CP”值为21,相对较大;
5、将该CP值转换成16进制数值(原来是十进制),43117->A86D
6、打开对应的javacore文件,查找A86D,
可以找到这样一行
“3XMTHREADINFO1 (native thread ID:0xA86D, native priority:0×5, native policy:UNKNOWN)”
后面就是该线程的堆栈信息,这样,你就可以从中了解到该现正等待的原因了。
例子中显示结果如下:
4XESTACKTRACE at java/net/SocketInputStream.socketRead0(Native Method)
4XESTACKTRACE at java/net/SocketInputStream.read(SocketInputStream.java:140(Compiled Code))
4XESTACKTRACE at com/unisys/cc/common/tcp/PackageTool.readBytes(PackageTool.java:75)
4XESTACKTRACE at com/unisys/cc/common/tcp/PackageTool.read(PackageTool.java:123)
4XESTACKTRACE at com/unisys/cc/common/tcp/TcpClient.receiveDataFromServer(TcpClient.java:235)
4XESTACKTRACE at com/unisys/cc/common/SocketWorker.submit(SocketWorker.java:75)
4XESTACKTRACE at com/unisys/cc/common/SocketWorker.submit(SocketWorker.java:36)
该线程正在通过网络读取远程数据,说明网络传输可能存在问题。
分享到:
相关推荐
这些问题可能源于多个方面,包括但不限于:系统资源分配不合理、CPU使用率异常高、文件句柄限制过低、线程状态异常以及JVM的GC(垃圾回收)机制问题等。 #### 二、诊断与监控 1. **系统资源监控**: - 使用`top`...
使用AIX的命令行工具如`tar`或`unzip`解压缩下载的WebLogic安装文件。通常,WebLogic的安装包是一个自解压的归档文件,执行后会创建一个安装目录。 4. **安装WebLogic**: 进入解压后的目录,执行安装脚本。AIX...
7. **性能监控**:使用性能监视工具检查CPU使用率、内存占用、磁盘I/O等,以识别可能的瓶颈。 8. **安全更新**:补丁也可能包含安全性修复,防止潜在的攻击或漏洞利用。 为了应用这个"weblogic10.0 for aix 补丁...
【Weblogic for AIX安装】 Weblogic for AIX安装是一个涉及多步骤的过程,适用于AIX操作系统环境下的Weblogic Server部署。Weblogic是由Oracle提供的企业级Java应用服务器,它支持多种操作系统,包括AIX。以下是对...
3. 使用WebLogic的性能监控工具,如JMX和WLST,进行性能分析和调优。 4. 开启缓存和Session复制,提高应用响应速度和容错能力。 八、故障转移与高可用性 1. 配置集群的故障检测机制,确保节点间的健康检查。 2. ...
标题中的“hp_prstat”是HP(Hewlett Packard)公司为监控其操作系统环境下的应用程序性能而设计的一款工具,特别适用于分析Weblogic服务器的CPU使用情况。在HP UNIX或HP-UX系统中,hp_prstat是性能监视的利器,能够...
在AIX平台上安装WebLogic 9.2是一个关键的任务,涉及到多个步骤和注意事项。WebLogic是Oracle公司的一款流行的企业级Java应用服务器,用于部署和管理Java应用程序。以下是详细的安装过程和涉及的知识点: 1. **创建...
### Weblogic 10.3.6 for AIX 安装及配置详解 #### 一、准备工作 在开始安装Weblogic 10.3.6 for AIX之前,需要完成一系列准备工作来确保安装过程顺利进行。 **1. 创建用户与组** 首先,使用root用户登录目标AIX...
WebLogic在AIX平台下的安装方法有三种:图形窗口模式、控制台模式和无人守护安装模式。本文主要介绍控制台安装模式的步骤。 2.1 安装JRE环境 WebLogic安装程序需要JRE的支持,根据安装平台的不同,WebLogic的安装...
由于文件名包含"AIX5[1].3 HACMP Oracle9I Weblogic8.1",我们可以推断这是针对AIX 5.3、高可用性集群多处理(HACMP)环境的WebLogic 8.1和Oracle 9i的安装指南。HACMP使得在多台服务器之间实现故障切换和负载均衡...
AIX64位操作系统服务器,Java6_64.sdk.tar,weblogic10介质,apache-http服务器 承载实例 服务器状态90 apache:133.0.175.90:8080 AIX5.3操作系统,jdk1.6,rpm环境 Adm ...
本文将深入探讨如何在AIX环境下安装WebLogic,以及相关的源码管理和工具使用。 首先,确保你的AIX系统满足WebLogic的最低硬件和软件需求。这通常包括特定版本的IBM AIX操作系统、Java Development Kit (JDK) 和足够...
以上是AIX环境下配置WebLogic集群的基本步骤,需要注意的是,实际操作中可能会遇到各种问题,如网络配置、权限、文件系统权限等,需要根据具体情况进行调整。在AIX上部署WebLogic集群需要对AIX系统管理、网络配置...
### AIX 下 WebLogic 92 的安装与配置详解 #### 一、Java5_64.sdk.tar 的安装 在 AIX 系统上安装 WebLogic 92 之前,首先需要确保系统环境中已经安装了合适的 Java 环境。本部分将详细介绍如何在 AIX 下安装 Java ...
在本文中,我们将深入探讨如何对运行在AIX服务器上的WebLogic应用服务器进行性能调优,以解决加载页面慢的问题。WebLogic是一个流行的Java应用程序服务器,而AIX是一种基于UNIX的操作系统,通常用于企业级服务器环境...
### AIX上安装Weblogic Server 10.3 的详细步骤 #### 一、准备工作:安装IBM Java SDK 6.0 for AIX 在安装Weblogic Server 10.3之前,首先需要确保系统上已经安装了合适的Java运行环境。本指南将详细介绍如何在AIX...
在本文中,我们将详细探讨如何在AIX 5L操作系统上安装WebLogic Server 9.2。AIX(Advanced Interactive eXecutive)是IBM开发的一种Unix操作系统,常用于大型机和小型机。WebLogic Server是Oracle公司的一款企业级...
详细描述weblogic 在AIX 下安装的过程及注意事项