was处理high cpu问题解决方案

若是was出现CPU使用率长时间在90%以上,能够按以下方法收集数据并解决问题。java

案例以下:正则表达式

经过TOP命令发现was占用CPU比较高线程

IBM官方一个脚本,能够分析出该进程下那个线程占用CPU太高code

使用方法以下:进程

sh  linperf.sh  pid

执行完该脚本会生成3个javacore和一个linperf_RESULTS.tar.gz文件 。class

解压linperf_RESULTS.tar.gz,能够根据生成的文件来查看占用CPU较高的线程,方法以下:搜索

在top.out文件中能够看到占用CPU最高的进程是:方法

 

在topdashH.29218.out文件中,能够看到该进程下全部的线程:im

以线程28182为例:28182(十进制)---->6E16(十六进制)数据

在JAVACORE中搜索该线程,查看该线程的堆栈信息以下:

以线程12286为例:12286(十进制)---->2FFE(十六进制)

在JAVACORE中搜索该线程,查看该线程的堆栈信息以下:

从JAVACORE中的线程堆栈信息中能够看出来,形成CPU太高的线程均在作正则表达式匹配操做。

参考链接:

http://www-01.ibm.com/support/search.wss?rs=180&tc=SSCMPB9+SSCMP9J&q=MustGatherDocument

相关文章
相关标签/搜索