tomcat占cpu100%分析处理
2016-10-12 15:07
639 查看
现象:
在tomcat中部署Java的web应用程序,过一段时间后出现tomcat的java进程持续占用cpu高达100%,导致web程序访问受阻。
可能原因分析:
可能程序确实在进行数据计算;或程序进入死循环;
解决方法:
1、先用top查看占用cpu的进程id
2、再用ps -ef | grep PID定位具体的进程主体;如是否是tomcat启动的java程序
3、用ps -mp pid -o THREAD,tid,time打印出该进程下的线程占用cpu情况
找到了耗时最高的线程28802,占用CPU时间快两个小时了!
4、其次将需要的线程ID转换为16进制格式:
printf "%x\n" tid
5、最后打印线程的堆栈信息:
jstack pid |grep tid -A 30
找到出现问题的代码,并分析具体函数中是否有可能出现死循环的代码段。
通常问题出现在while, for之类的循环代码片段。
在tomcat中部署Java的web应用程序,过一段时间后出现tomcat的java进程持续占用cpu高达100%,导致web程序访问受阻。
可能原因分析:
可能程序确实在进行数据计算;或程序进入死循环;
解决方法:
1、先用top查看占用cpu的进程id
2、再用ps -ef | grep PID定位具体的进程主体;如是否是tomcat启动的java程序
3、用ps -mp pid -o THREAD,tid,time打印出该进程下的线程占用cpu情况
找到了耗时最高的线程28802,占用CPU时间快两个小时了!
4、其次将需要的线程ID转换为16进制格式:
printf "%x\n" tid
5、最后打印线程的堆栈信息:
jstack pid |grep tid -A 30
找到出现问题的代码,并分析具体函数中是否有可能出现死循环的代码段。
通常问题出现在while, for之类的循环代码片段。
相关文章推荐
- Tomcat CPU占用100%异常分析与处理
- 阿里云数据库维护记录-RDS MySQL IOPS 使用率高的原因和处理--RDS实例CPU超过100%的分析
- 打开.net时CPU占用率100%的问题个人处理办法
- [原]分析Vista导致资源管理器占用CPU资源100%的问题的原因及解决办法
- HashMap-死锁导致cpu占用100%分析
- Tomcat处理HTTP请求源码分析(上)
- Tomcat处理HTTP请求源码分析(上)
- TOMCAT源码分析(消息处理)
- Tomcat处理HTTP请求源码分析(上)
- DBA案例分析:如何解决CPU占用100%的问题
- TOMCAT源码分析(消息处理)(转)
- Tomcat处理HTTP请求源码分析(上)
- TOMCAT源码分析(消息处理)
- IIS应用程序池 CPU 100% 分析软件,找出具体有问题的ASP程序URL(免费软件,无功能限制)
- WinDbg+SOS:Web服务器High CPU Hang(100%)实例分析
- DBA案例分析:如何解决CPU占用100%的问题
- Key的小于操作符号重载不正确导致map占用CPU占用100%的分析
- WinDbg+SOS:Web服务器High CPU Hang(100%)实例分析
- TOMCAT源码分析(消息处理)
- oracle数据库cpu100%处理