码迷,mamicode.com
首页 > 编程语言 > 详细

tomcat7+java压测过程中占用CPU过高排查故障和解决办法

时间:2016-07-19 19:04:29      阅读:2811      评论:0      收藏:0      [点我收藏+]

标签:tomcat7 java cpu过高 故障排查

环架构境:

  前端haproxy做为反向代理,后端N+1台tomcat+java服务


出现问题:

  环境是新搭建的,本周在做压测刚开始的时候正常,随着量的上涨,导致CPU一直暴涨。


解决办法和思路:


  1.)先通过top命令查看占用cpu高的PID

  # 根据top命令查看发现PID为2195和975的的进程占用CPU高达%200+,明显出现故障

技术分享


  2.)通过top -H -p pid命令查看,发现2275 3302 3375这几个进程占用CPU时间8分钟

技术分享

  3.)把线程pid转换为16进制,例如:上面的pid进程为3375转换过来为d2f

  命令:printf "%x\n" 3375

  4.)使用jstack命令,输出java的堆栈信息,为了方便也可输出至文本便于查看。

  命令:jstack 2195 |grep d2f -A 30

技术分享


 5.)将输出的信息发给开发人员进行确认,这样就能找出有问题的代码

本文出自 “命运.” 博客,请务必保留此出处http://hypocritical.blog.51cto.com/3388028/1827833

tomcat7+java压测过程中占用CPU过高排查故障和解决办法

标签:tomcat7 java cpu过高 故障排查

原文地址:http://hypocritical.blog.51cto.com/3388028/1827833

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!