1. 查找進程
top查看進程占用資源情況

明顯看出java的兩個進程22714,12406占用過高cpu.
2.查找線程
使用top -H -p <pid>查看線程占用情況

3.查找java的堆棧信息
將線程id轉換成十六進制
#printf %x 15664
#3d30
然后再使用jstack查詢線程的堆棧信息
語法:jstack <pid> | grep -a 線程id(十六進制)
jstack <pid> | grep -a 3d30

這樣就找出了有問題的代碼了。
剩下的就是分析原因和修改代碼了。