性能測試分析過程(二)cpu 使用率過高的分析方法


Linux 系統下 cpu 使用率過高的分析方法

1、通過 top 命令可以很明顯查看出哪個進程耗cpu比較高

 

2、 ps -mp 25147-o THREAD,tid,time\top -Hp pid找到耗時最高的線程

或者使用:使用 top -H -p <pid> 查看進程里面的線程占用情況

或者在top命令之后使用:shift+h  查看哪個進程程消耗最高

 

3,將需要的線程ID轉換為16進制格式

 ,

打印堆棧信息
sudo jstack 25147|grep 6268

 

  jstack 3889 > /tmp/aa.txt,將該進程的全部堆棧信息放入臨時文件aa.txt里面

 

 總結: 

1. 查找進程

top查看進程占用資源情況

明顯看出java的那個進程占用過高cpu.

 

2.查找線程

使用top -H -p <pid>查看線程占用情況

 

3.查找java的堆棧信息

將線程id轉換成十六進制

#printf %x 15664

#3d30

 

然后再使用jstack查詢線程的堆棧信息

語法:jstack <pid> | grep -a 線程id(十六進制)

jstack <pid> | grep -a 3d30 

這樣就找出了有問題的代碼了。

 pid :進程id                tid :線程 id

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM