1. 通過(guò)top命令發(fā)現(xiàn)cpu利用率過(guò)高,定位到消耗cpu過(guò)高的進(jìn)程pid=xxxxxx
2. 使用top -p + pid舵揭,單獨(dú)監(jiān)控消耗cpu過(guò)高的進(jìn)程
3. 在監(jiān)控界面上輸入大寫(xiě)的H,列出當(dāng)前進(jìn)程下的所有線程
4. 定位到消耗cpu過(guò)高的線程屋厘,線程id是:yyyyyy
5. 對(duì)yyyyyy轉(zhuǎn)換成16進(jìn)制
6. 使用jstack對(duì)進(jìn)程xxxxxx進(jìn)行dump(拍快照紧索,輸出當(dāng)前進(jìn)程下的所有線程信息)
7. 在輸出的線程棧信息中查找nid=yyyyyy16進(jìn)制的線程
8. 解析線程棧信息,結(jié)合源碼定位代碼瓶頸(自底向上看)