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占用问题的定位

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

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

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

TOMCAT 7.0 CPU占用高

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

Tomcat 7优化前及优化后的性能对比

Tomcat 7在我们日常开发、测试、生产环境都会使用到,但对于大部分开发人员来说,对其性能还是没有多大了解。本文就对它做一次性能测试,对比优化前后的性能区别。 一、运行环境 CPU: I...
  • xuweilinjijis
  • xuweilinjijis
  • 2014年06月06日 13:43
  • 6512

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

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

java web tomcat项目高CUP和内存占用率

java 进程高CPU和内存占用率的问题
  • chenhaotong
  • chenhaotong
  • 2016年07月22日 10:06
  • 7475

tomcat突破1千并发

最近由于项目马上要上线,于是开始一系列优化压测.一期要承接2.5w的并发量.所以后端部署了18台tomcat 但是刚开是非常差强人意.找到错误分析员因发现打开文件过多.于是开始一系列的系统内...
  • qq_38665235
  • qq_38665235
  • 2018年01月05日 14:19
  • 395

tomcat端口被长时间连接,CPU使用率高的原因分析

tomcat使用的是电脑的80端口。当客户端访问的时候就会,会和服务器端的80端口建立连接。现在在做压力测试。当多个用户访问的时候,服务器端的80端口就会被一直被连接占用着,导致服务器端的CPU很容易...
  • java2000_net
  • java2000_net
  • 2009年02月21日 15:09
  • 8950

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

使用tomcat做为java容器,cpu占用偏高的原因,目前公司服务器上面跑的ubuntu环境nginx+tomcat+mysql运行一段时间之后java进程cpu偏高,会出现网站打不开的情况。所以进...
  • wyhappy612
  • wyhappy612
  • 2017年05月11日 14:49
  • 2648

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

http://blog.csdn.net/scholar_man/article/details/50392336
  • Meiyang1990
  • Meiyang1990
  • 2016年08月16日 10:39
  • 692
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tomcat7高CPU问题
举报原因:
原因补充:

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