CPU高性能診斷方法

今天看同事診斷一java進程CPU高的問題,特此記錄下方法:

1.通過ps命令查看具體哪個線程CPU高

ps -mp [pid] -o THREAD,tid,time

2.jstack -l

通過jstack查找對應線程ID,看在執行哪塊邏輯。  接着對應代碼分析。。。

 

如果是c++程序怎麼定位呢?參考別人的方法

1.使用find /proc/pid/task/ -name "sched" |  xargs grep  threads獲取對應任務的tid

 

2.使用gdb -batch -ex "bt" -p pid  獲取對應線程的調用棧 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章