jca工具怎么分析was的javacore

69次阅读
没有评论

共计 1571 个字符,预计需要花费 4 分钟才能阅读完成。

这篇文章将为大家详细讲解有关 jca 工具怎么分析 was 的 javacore,文章内容质量较高,因此丸趣 TV 小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

  一朋友打电话求助,问怎样简单方便的分析 WAS 的 JAVACORE 文件。我给他做了个实例解析,下面是一个过程记录。

一、工具下载

可从 IBM 官网下载 JCA 工具,专门用来分析 JAVACORE 文件的工具。使用 JCA 工具需要 JAVA 环境,再下载一个 JDK。由于我们使用的 JCA 是 3.9.6 版,所以下载一个 JDK1.6 版的就行。

二、启动 JCA 工具

安装完 JDK1.6 后,配置 JAVA 环境。JAVA 环境的配置简单说一下:

打开 我的电脑 -- 属性 -- 高级 -- 环境变量 
新建系统变量 JAVA_HOME 和 CLASSPATH
变量名:JAVA_HOME

变量值:C:\Program Files\Java\1.6.0_37

变量名:CLASSPATH

变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把 JDK 安装路径中 bin 目录的绝对路径,添加到 Path 变量的值中,并使用半角的分号和已有的路径进行分隔。
变量名:Path
变量值:C:\Program Files\Java\1.6.0_37\bin;C:\Program Files\Java\1.6.0_37\jre\bin;

启动 JCA 工具

C:\jca396 java -Xmx2000M -jar jca396.jar

Error occurred during initialization of VM

Could not reserve enough space for object heap

Could not create the Java virtual machine.

如果出现这个错误,把内存分配小点就可以了。

C:\jca396 java -Xmx500M -jar jca396.jar  javacore.20131101.txt

点开 waiting 状态比较多的事件,有如下显示

这是典型的 BLOCK 堆载,在 IBM 官网有相应的参考文章,解决这个问题一个比较简单的方法就是增大 WAS 的 JVM 大小。

三、解决问题

进入 WAS 控制台,找到 JVM 设置,进行调整。如图:

服务器 – 应用程序服务器 –app01– 进程定义 -Java 虚拟机

注:当部署在 websphere 上的应用出现了问题,比如调用缓慢,线程挂起,节点假死的时候,光看应用的 SystemOut.log 是不够的,我们还需要手动生成 javacore 文件,查询服务器上各个线程的堆栈情况,它可以具体到一个方法的调用情况。Javacore 是 Java 应用程序在某一时间的文本表示形式,也可理解为 Java Dump(通常称为 Thread Dump)的线程转储文件。该文件记录了整个 JVM 的运行情况,包含线程、垃圾回收、JVM 运行参数、内存地址等信息。JVM 的许多问题都可以用这个文件进行诊断,其中比较典型的包括线程阻塞、CPU 使用率过高、JVM Crash、堆内存不足和类装载等问题。

Javacore 文件通常以 *.txt 方式显示,名称格式主要是以 Javacore 为头,加上日期号、产生的时间号、当时的线程编号。

Javacore 文件的生成

ps -ef | grep java 查看进程 ID,在 linux 系统中 使用 kill -3 pid , 它会在应用程序的概要文件的目录下生成一个 javacore 文件,比如在 /usr/IBM/WebSphere/AppServer1/profiles/AppSrv01 下。

关于 jca 工具怎么分析 was 的 javacore 就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计1571字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)