Tomcat CPU占用100%异常分析与处理

时间:2022-07-22
本文章向大家介绍Tomcat CPU占用100%异常分析与处理,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

其实好像也没有啥要处理的。分析出来了,问题自然就不再是问题了~

异常现象

公司使用阿里云ECS,其实我就是打杂的啦~ 写写代码、部署下服务、申请个语音验证码服务啥的.......

开通了阿里云监控服务。然后发现某个主机CPU使用率接近100%。

开始分析

查看主机进程

发现CPU占用过高的进程。其实也就是Java啦

查看该进程下面的线程

可以看到好多CPU一直都占用比较高的线程。例如 TID: 11862 这个

使用jstack查看堆栈信息

需要现将 TID 转换成16进制。

[~]# printf "%xn" 11862
2e56

然后就可以使用jstack进行查看了。

不过要注意的是:jre是没有jstack的,需要jdk。同时,你也不能在安装jre的环境下面,单纯的将jstack拷贝过来,因为它还需要其他的依赖。

然后,就可以根据提示去源码里面找问题了。

呵呵~

备注

理论上生产主机是不能这样的。

  • 禁止root账号登录
  • 尽量不要安装额外的软件。例如htop
  • 主机不能直接暴露公网环境
  • 不要安装jdk
  • O__O "…,还有最重要的一条。测试不全面,出现了大漏洞~