阿里云
服务器地域选择
发表主题 回复主题
  • 6336阅读
  • 1回复

[分享]tomcat进程CPU利用率居高不下问题排查

级别: 菜鸟
发帖
55
云币
89
最近发现ECS服务CPU利用率居高不下达到100%,通过Top命令查看主要是两个tomcat进程一直在消耗CPU资源:

通过监控可以看见两个tomcat进程CPU利用率特别高。但是tomcat用户请求并不多,为什么CPU利用率这么高,很奇怪。

通过ps -mp pid -o THREAD,tid,time 或者使用top -H -p pid查看线程CPU利用率和CPU时间片暂用情况,发现6588和6608两个线程
消耗CPU资源高而且占用CPU时间片很长。

现在只能看看这两个线程堆栈信息,看这两个线程在干嘛。

通过kill -3 pid可以输出tomcat进程的线程堆栈信息输出到tomcat的控制台或者Catalina.out文件。建议每隔2秒执行一次,多执行几次线程堆栈信息输出命令。


把ps或者top看到线程ID从十进制转换成16进制,然后在tomcat线程堆栈信息里面找到相对应的nid,可以看到一直在执行ModelAction.parts_item这个方法

通过对这个方法在本地调试发现在数据不完整的情况下,陷入死循环了。所以造成CPU利用率一直居高不下。

级别: 新人
发帖
1
云币
1
只看该作者 沙发  发表于: 03-08
Retomcat进程CPU利用率居高不下问题排查
我也遇到了相同的问题,等下次再出现尝试下用这种方法排查问题。
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个