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

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

环架构境: 前端haproxy做为反向代理,后端N+1台tomcat+java服务出现问题: 环境是新搭建的,本周在做压测刚开始的时候正常,随着量的上涨,导致CPU一直暴涨。解决办法和思路: 1.)先通过top命令查看占用cpu高的PID # 根据top命令查看发现PID为2195和975的的进程占用CPU高达%200+,明显出现故障 2.)通过top -H -p ...

环架构境:

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


出现问题:

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


解决办法和思路:


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

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

wKiom1eN7X2xg8jPAADUmZy5BSc283.jpg-wh_50


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

wKioL1eN7gOwF8w4AAEyVJbRqTQ637.jpg-wh_50

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

  命令:printf "%x\n" 3375

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

  命令:jstack 2195 |grep d2f -A 30

wKiom1eN8R6COSc_AAJk4M-yZkE497.jpg-wh_50


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

转载于:https://blog.51cto.com/hypocritical/1827833

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐

  • 浏览量 623
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献2条内容