java 程序占CPU100%问题的解决过程

自己开发的java 程序,运行几个小时后CPU暴涨到100%,重启应用后恢复正常,但过几个小时问题依旧爆发。怀疑是程序里面出现了死循环。因为程序中有几个定时自动执行的任务,问题很可能就出现在这里。接下来是怎么定位问题点了,linux 系统:

1. 用top 命令查看占用资源最多PID(进程):

   

    可以看出占cpu最大的pid 是1020

2.根据进程的PID查看执行时间最长的TID(线程ID):ps -mp 1020 -o THREAD,tid,time;

    

    可以看出占cpu最大的TID 是 1084

3.将TID转换成16进制打印:printf "x%\n" TID  (设转换后的值为HTID)

   

4.jstack PID|grep -i HTID  -A 30 

   


交给程序员去处理程序中的bug ,扣其一个鸡腿!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值