JAVA應用程序占用CPU、內存過高分析過程


1.查看cpu占有率

top -P

2.查看進程cpu占用率

 ps -mp 3749 -o THREAD,tid,time|sort -rn|head -n 20

查看占用cpu高,且占用時間長的線程

$.線程ID轉換為16進制格式

printf "%x\n" tid

3.查看java堆棧信息

su - nobody -c "/usr/java/jdk1.6.0_21/bin/jstack 3749|grep 34d8 -A 30"  34d8替換成上面轉換的16進制

注意:這里要使用程序啟動的用戶執行此命令

使用root會提示:

Unable to open socket file: target process not responding or HotSpot VM not loaded

The -F option can be used when the target process is not responding

4.分析結果

請開發協助分析結果...

參考鏈接

http://www.jianshu.com/p/5f14386a1fe3

http://dbaplus.cn/news-21-130-1.html

http://www.blogjava.net/hankchen/archive/2012/05/09/377735.html

 


免責聲明!

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



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