`

采用jca分析javacore文件示例

    博客分类:
  • java
阅读更多

今天帮助项目组分析websphere 7下的线程挂起问题,现象如下:

 

后台日志抛出类似下面的异常:

线程“WebContainer : 6”(0000001f)已保持活动状态 621077 毫秒,此线程可能已挂起。在服务器中共有 1 个线程可能处于挂起状态。

 

问题分析:

线程或数据库存在锁的现象,决定采用jca分析工具分析javacore文件,看哪个线程有锁。

 

问题排查过程:

websphere服务器端(suse Linux)执行如下命令:

ps -ef|grep java

 

查找webpshere的进程,再调用:

kill -3 pid

 

动态生成一个javacore 文件,比如: /opt/IBM/WebSphere/AppServer1/profiles/AppSrv01目录下的生成了javacore.20120613.084258.15830.0001.txt文件

(此kill命令不会造成在线业务系统停止,应用服务器不需要重新启动)

 

然后采用jca分析工具,我采用的是jca401的版本,进入dos环境,执行:

 java -Xmx200m -jar jca401.jar

 

会打开图形界面,调入javacore文件,进行分析发现有线程处于blocked状态,点击toolbar中的“Thread Detail”图标,能够看到具体的线程状态及明细,定位blocked的线程,查看明细,本例中发现该线程blocked by一个web container线程,该线程的调用堆栈如下: 

 

t oracle/jdbc/driver/OracleStatement.executeQuery(OracleStatement.java:1313(Compiled Code))
at com/ibm/ws/rsadapter/jdbc/WSJdbcStatement.pmiExecuteQuery(WSJdbcStatement.java:1621(Compiled Code))
at com/ibm/ws/rsadapter/jdbc/WSJdbcStatement.executeQuery(WSJdbcStatement.java:925(Compiled Code))
at com/itown/framework/persistence/SingleDBHelper.executeQuery(SingleDBHelper.java:116(Compiled Code))
at com/itown/iesap/dbatch/service/InspFirstTrialSqlSearchService.findExcept(InspFirstTrialSqlSearchService.java:457(Compiled Code))
at com/itown/iesap/dbatch/service/InspFirstTrialSqlSearchService.execute(InspFirstTrialSqlSearchService.java:526(Compiled Code))
at com/itown/iesap/common/BaseService.service(BaseService.java:12(Compiled Code))

 

jca工具截图: 




 
 

 

缩小了问题范围,最终得以排查问题。

 

 

  • 大小: 276.3 KB
分享到:
评论
1 楼 NeverGiveUpToChange 2013-01-15  
学习!

相关推荐

    was内存溢出 javacore分析工具jca 401

    在使用JCA401工具进行内存分析时,首先要确保能够获取到javacore文件,这通常通过设置WebSphere的故障日志记录或者使用操作系统的信号触发JVM生成javacore。然后,运行JCA401工具,导入javacore文件,并查看生成的...

    javaCore pdf

    JavaCore是Java编程的核心知识体系,它涵盖了Java语言的基础到高级特性的理解与应用。这份名为"javaCore pdf"的资源显然是一套关于Java编程的学习资料,包含了一系列PDF文档,可能是一个系统的Java教程或者课程材料...

    javacore测试题.docjavacore测试题.doc

    1. Java 中的基本数据类型包括 byte、int、double、long、char、short、boolean 和 float。String 不是基本数据类型,而是一个对象...以上是对给定文件中部分知识点的详细说明,涵盖了许多 Java 编程的基础和进阶概念。

    Spring完全学习示例(二)

    7. `jpox-jca-1.2.2.jar`:JPoX的Java Connector Architecture (JCA)支持,允许JDO在企业级应用服务器中作为资源适配器使用,提供与EJB或Web服务的集成。 通过这些文件,我们可以推断这个示例将演示如何在Spring...

    hibernate 3.5.0-final core reference 中文pdf

    - **对JCA的支持**:解释了Hibernate如何支持Java Connector Architecture (JCA),以实现与外部资源的集成。 - **上下文相关的会话(Contextual Session)**:介绍了如何利用Spring等框架提供的上下文来管理Session...

    hibernate_reference_3.5.pdf

    - **JCA 支持**:解释了如何集成 JCA(Java Connector Architecture),以便在 EIS(Enterprise Information System)环境中使用 Hibernate。 - **上下文会话**:讨论了如何管理和控制 Hibernate Session 的生命周期...

    JBoss AS5 安装上手指南

    除了 EJB 3,JBoss AS5 还支持 JPA、JTA、JCA 和 JMS 等 Java EE 标准。 ##### 1.5.6 集群 JBoss AS5 支持多种集群模式,如热备份集群、负载均衡集群等,为高可用性和负载均衡提供了强大的支持。 #### 四、安装...

    JalistoPlus-开源

    6. `core`、`jca`和`samples`:这些可能是项目的主要源代码目录和示例代码,`core`可能包含数据库引擎的核心实现,`jca`可能涉及Java连接适配器(Java Communications API),用于数据库的连接和通信,`samples`则...

    安卓IOSC#通用加密.zip

    - Android提供了多种加密API,如Java加密API (Java Cryptography Architecture, JCA) 和Android Keystore System,用于存储和操作密钥。 - 对于应用程序数据加密,常见的方法有AES(高级加密标准)和RSA(公钥加密...

Global site tag (gtag.js) - Google Analytics