1. top -d 1

命令解釋:進程界面每1s刷新一次
2.top -H -p pid或者 ps -mp pid -o THREAD,tid,time | sort -rn

命令解釋:查看指定進程中各線程的狀態,選出最繁忙的線程tid
3.printf "%x\n" tid

命令解釋:將線程ID轉換為十六進制
4. jstack pid | grep tid -A30

命令解釋:查看線程的堆棧信息
接下來就是排查代碼了。
CPU負載過高有幾方面原因:
- 程序計算密集
- 程序死循環
- 多線程阻塞
- IO讀寫頻繁
