單進程cpu高處理
問題描述
Java程序在運行過程中可能出現異常錯誤或死循環,導致這個進程佔用cpu很高的情況出現以及服務器負載很高
問題處理步驟
1:根據top命令,查看佔用CPU很高的進程PID,如31754
2: ps -mp 31754 -o THREAD,tid,time | sort -rn,查看該進程所對應線程列表,並按照CPU佔用高的線程排序,結果如下:
3: 將需要的線程ID轉換爲16進制格式:
4: jstack 31754|grep 7c3d -A 30最後打印線程的堆棧信息:將輸出的信息進行確認,並處理