1. 程式人生 > >Linux下檢視消耗CPU的執行緒

Linux下檢視消耗CPU的執行緒

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