生產java應用,CPU使用率一直很高,經常達到100%,通過以下步驟完美解決,分享一下。
1.jps 獲取Java進程的PID。
2.jstack pid >> java.txt 導出CPU佔用高進程的線程棧。
3.top -H -p PID 查看對應進程的哪個線程佔用CPU過高。
4.echo “obase=16; PID” | bc 將線程的PID轉換爲16進制。
5.在第二步導出的Java.txt中查找轉換成爲16進制的線程PID。找到對應的線程棧。
6.分析負載高的線程棧都是什麼業務操作。優化程序並處理問題。