1. 程式人生 > >tomcat占用cpu過高解決辦法

tomcat占用cpu過高解決辦法

title 情況 處理 顯示 pri grep tar jstack 16進制

在工作中經常遇到tomcat占用cpu居高不下,針對這種情況有以下處理辦法進行排查。

jps --> 查看java的進程
top -Hp pid --> 根據jps得到的進程號(pid),查看java進程的所有線程,並且可以看到所有線程占用CPU的情況,-H用於顯示某個進程的所有線程。
printf "%x\n" 9733 -->將第2步查到占用較高CPU的線程號轉換為16進制,以便於jstack查看
jstack pid | grep 2605 --> 2605為第3步9733轉換為16進制後的數字,因為jstack顯示的線程號是以16進制表示的! jstack的作用是顯示正在運行的所有java線程情況,jstack pid | grep 2605的意思只顯示某個java線程的運行信息。通過這種方法,可以將此線程正在運行的方法顯示出來,將此方法交給開發即可

  

技術分享圖片

tomcat占用cpu過高解決辦法