Linux下查看消耗CPU的線程 佔用 100% java 堆棧

其他排查: java 進程內存佔用排查. 除了堆之外

javaweb 項目部署後發現很耗cpu,需要查出問題所在

寫個測試程序,記相關步驟:

故意寫個死循環

public class TestCpu {
 
    public static void main(String[] args) {
        while (true){
            new Object();
        }
    }
}

終端:

top

查看消耗cpu的進程 PID=2864

ps -mp 2864 -o THREAD,tid,time 查看線程TID=2866

把線程ID轉爲16進制

printf "%x\n" 2866

然後查看堆棧信息

jstack 2864 |grep b32 -A 30

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章