Websphere(was)故障-挂死,重启,产生core.*.dmp,javacore文件-分析和解决

复杂的故事简单说,复杂的问题简单做。

Websphere(was)故障-挂死,重启,产生core.*.dmp,javacore文件-分析和解决_第1张图片
Was故障

现象


1:应用部分功能只要一访问就重启。
2:每一次重启在was安装目录下产大批量文件,主要4类:core.*.dmp,javacore,gc和trc文件

Websphere(was)故障-挂死,重启,产生core.*.dmp,javacore文件-分析和解决_第2张图片
4类文件

关键点


重启、core.dmp、javacore、trc。

分析


  • 注意core.dmp

1. core.dmp文件大,每个都有1.5G,有些会接近2G,及时删除,避免文件空间爆满。
2. core.dmp 区别于可分析的 headump.phd文件,是不能用“IBM Thread and Monitor Dump Analyzer for Java”分析的文件,core.dmp是当前进程的内存情况,当前进行消耗了多大内存,这个文件就对应多大,是操作系统进行的内存快照,文件大,也没有实际的分析价值,可以分析一下javacore文件。

  • javacore 文件

javacore文件网上分析的贴子多,这么不描述,对于JDK问题的情况多半会抛一些中间价或JDK的类目录和一些说明在Note的地方,可以重点注意这一块。javacore可以用“IBM Thread and Monitor Dump Analyzer for Java”分析,也可以用文本编辑器简单打开看看。
“IBM Thread and Monitor Dump Analyzer for Java”工具的使用:


Websphere(was)故障-挂死,重启,产生core.*.dmp,javacore文件-分析和解决_第3张图片
JCA
  • 漫长分析
    最漫长的定位过程就是排除法,修改代码,找出其中一处导致服务重启的代码,而且是JDK原生的方法,结合产生core.dmp文件基本就可以判断为JDK有问题。

如果产生了core*.dmp文件可以直接替换下JDK试试,直接替换JDK相对于漫长的代码分析效率更高。

处理方法


  • 拷贝JDK:
    找一台安装了同版本was或同版本JDK的服务器(也可以直接在网上下载同版本JDK来安装),登陆远程服务器,使用scp 复制一份jdk到有问题的机器。

例如:有问题的机器IP为192.168.22.10,令一台机器为192.168.22.11,账号为was,登陆192.168.22.11,使用命令:scp -r /was/AppServer/java [email protected]:/was/AppServer/java_2,此时,在10机器就有了一个新的java,文件夹是java_2

  • 配置新JAVA_HOME:
    登陆was控制台,“环境--WebSphere变量--JAVA_HOME”,修改路径为到新的java.
Websphere(was)故障-挂死,重启,产生core.*.dmp,javacore文件-分析和解决_第4张图片
JAVA_HOME
  • 重启服务
    重启Server,检查是否正常。

后记


严防:严防对JDK的文件替换和删除操作,JDK一个点的修改对应用的影响可能特别大。

简单应用,希望对你有用。

笔者问题处理环境:was6升级到was7,JDK1.5升级到JDK1.6,是新环境的JDK1.6有问题,定位问题后替换JDK1.6,问题解决。

你可能感兴趣的:(Websphere(was)故障-挂死,重启,产生core.*.dmp,javacore文件-分析和解决)