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

相關文章
相關標籤/搜索