编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

cpu100%定位问题(cpu100如何定位)

wxchong 2024-07-25 13:51:51 开源技术 10 ℃ 0 评论
1.重启了6台中问题比较严重的5台机器,先恢复业务。保留一台现场,用来分析问题。
2.查看当前的tomcat线程pid



3.查看该pid下线程对应的系统占用情况。top -Hp 384



4.发现pid 4430 4431 4432 4433 线程分别占用了约40%的cpu
5.将这几个pid转为16进制,分别为114e 114f 1150 1151
6.下载当前的java线程栈  sudo -u tomcat jstack -l 384>/1.txt
7.查询5中对应的线程情况,发现都是gc线程导致的



8.dump java堆数据
sudo -u tomcat jmap -dump:live,format=b,file=/dump201612271310.dat 384
9.使用MAT加载堆文件,可以看到javax.crypto.JceSecurity对象占用了95%的内存空间,
  初步定位到问题。
MAT下载地址:http://www.eclipse.org/mat/
10.查看类的引用树,看到BouncyCastleProvider对象持有过多。
     即我们代码中对该对象的处理方式是错误的,定位到问题。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表