tomcat7高CPU问题

转载 2015年07月23日 23:13:37

转自:http://blog.chinaunix.net/uid-10449864-id-3463151.html

问题描述:

生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高。

问题分析:
1,程序属于CPU密集型,和开发沟通过,排除此类情况。
2,程序代码有问题,出现死循环,可能性极大。

问题解决:
1,开发那边无法排查代码某个模块有问题,从日志上也无法分析得出。
2,记得原来通过strace跟踪的方法解决了一台PHP服务器CPU占用高的问题,但是通过这种方法无效,经过google搜索,发现可以通过下面的方法进行解决,那就尝试下吧。

解决过程:
1,根据top命令,发现PID为2633的Java进程占用CPU高达300%,出现故障。

2,找到该进程后,如何定位具体线程或代码呢,首先显示线程列表,并按照CPU占用高的线程排序:
[root@localhost logs]# ps -mp 2633 -o THREAD,tid,time | sort -rn

显示结果如下:
USER     %CPU PRI SCNT WCHAN  USER SYSTEM   TID     TIME
root     10.5  19    - -         -      -  3626 00:12:48
root     10.1  19    - -         -      -  3593 00:12:16

找到了耗时最高的线程3626,占用CPU时间有12分钟了!

将需要的线程ID转换为16进制格式:
[root@localhost logs]# printf "%x\n" 3626
e18

最后打印线程的堆栈信息:
[root@localhost logs]# jstack 2633 |grep e18 -A 30


将输出的信息发给开发部进行确认,这样就能找出有问题的代码。

通过最近几天的监控,CPU已经安静下来了

----------------------------------------------------------------------------------------

第一步:top

第二步:ps -mp PID -o THREAD,tid,time | sort -rn

第三步:printf "%x\n" TID

第四步:jstack PID |grep XXX -A 30

tomcat cpu暴涨的原因之一及其解决方法

当你使用tomcat部署web系统时,过了一段时间发现cpu暴涨,你不防试试下面的方法,看看是否程序内的死循环导致cpu暴涨。  第一步:增加tomcat监控对外端口  在你的tomcat...
  • scholar_man
  • scholar_man
  • 2015-12-24 09:52:01
  • 6648

排查线上tomcat出现cpu100%问题

线上出现tomcat的CPU出现100%,排查及其解决的步骤 1、输入top,查看cpu的占用比率2、通过ps aux | grep PID或ps -ef |grep PID命令,定位具体的进程主体...
  • sunyuhua_keyboard
  • sunyuhua_keyboard
  • 2017-10-31 17:53:31
  • 830

TOMCAT 7.0 CPU占用高

TOMCAT 7.0 CPU占用高 在server.xml中增加线程控制              enableLookups="false" redirectPort="8443" pr...
  • lenovouser
  • lenovouser
  • 2015-01-16 16:40:53
  • 2438

Linux-Tomcat进程CPU使用率100%原因分析

在Linux中当Tomcat启动后,我们只是去查看应用是否能够正常访问来判断Tomcat启动是否正常。一般情况下这样看是没有问题的,但是有时候我们会发现当Tomcat使用了一段时间后,开始出现CPU或...
  • zhaoguoshuai91
  • zhaoguoshuai91
  • 2016-03-30 22:28:25
  • 6635

Windows平台下tomcat+java的web程序持续占cpu问题调试

1、问题Tomcat服务器跑了一段时间后,发现Tomcat进程占用的CPU资源在80%-100%间,加上其它的进程,整个服务器的CPU处理100%运行状态。2、通过process explorer查看...
  • p_3er
  • p_3er
  • 2015-10-10 17:04:55
  • 4537

一个Tomcat高CPU占用问题的定位

前段时间项目(交接过来的)发布了一个大的版本以后,IDC机器CPU不时会突然飙升,而且是“根本停不下来”的样子,一上去了就是100%。想来也纳闷,虽然发了版本,但没有太耗CPU的功能,不应该会让CPU...
  • deepbluecn
  • deepbluecn
  • 2014-05-14 10:45:44
  • 4274

tomcat+java的web程序持续占cpu问题调试

原文出处:http://www.blogjava.net/hankchen
  • five3
  • five3
  • 2014-06-04 13:41:22
  • 24621

记一次tomcat进程cpu占用过高的问题排查记录

本文主要记录一次tomcat进程,因TCP连接过多导致CPU占用过高的问题排查记录。问题描述linux系统下,一个tomcat web服务的cpu占用率非常高,top显示结果超过200%。请求无法响应...
  • yiduyangyi
  • yiduyangyi
  • 2017-08-11 17:40:41
  • 3019

java自带工具JvisualVM调试tomcat CPU使用量过高

http://blog.csdn.net/scholar_man/article/details/50392336
  • Meiyang1990
  • Meiyang1990
  • 2016-08-16 10:39:31
  • 836

使用tomcat java进程占用cpu偏高的原因

使用tomcat做为java容器,cpu占用偏高的原因,目前公司服务器上面跑的ubuntu环境nginx+tomcat+mysql运行一段时间之后java进程cpu偏高,会出现网站打不开的情况。所以进...
  • wyhappy612
  • wyhappy612
  • 2017-05-11 14:49:47
  • 4271
收藏助手
不良信息举报
您举报文章:tomcat7高CPU问题
举报原因:
原因补充:

(最多只允许输入30个字)