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

本文分享了一次解决阿里云ECS主机上Java进程导致CPU使用率接近100%的问题经验。通过分析异常进程及线程,最终定位到具体问题并解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

异常现象

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

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

开始分析

查看主机进程

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

查看该进程下面的线程

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

使用jstack查看堆栈信息

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

[~]# printf "%x\n" 11862
2e56

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

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

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

呵呵~

备注

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

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

转载于:https://my.oschina.net/lpe234/blog/1827276

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值