美文网首页
cpu 真的飙到270%,一次很好的排查体验

cpu 真的飙到270%,一次很好的排查体验

作者: 无敌TG | 来源:发表于2018-07-25 23:33 被阅读0次

场景: 来自一次真的排查过程,运营经理在dashborad下载一家门店图片,下载了10多分钟(平时基本1分钟搞定的),了解情况后,自己上正式环境看看,首选看的就是cpu,发现该项目所占的cpu已经达到了270%(4核),而且没有下降的趋势,于是看了一下该项目的运行日志,发现打印的确实是图片下载这一环节的信息,自己又开始回想,之前在预发布环境测试过下载100多家门店也没有这么慢,想想发现最近有个紧急需求(就是给下载的图片加水印的步骤,感觉顿时一阵凉凉),好吧,问题已经找出来啦,现在我们也在demo中模拟该情况下怎么定位到问题出在哪里。

1.使用top 查看 进程,确定 PID(哪个项目进程)

2.使用 ps -ef |grep 12524 或者 jps |grep 12524 确定是不是我们的项目

3. 使用 ps -mp 12524 -o THREAD,tid,time (查找tid)

4.确定了tid 为 22971 的线程 ,cpu占用率达到 98.5, 接下来 使用 :printf "%x\n" tid(将 tid转换成十六进制)

5.jstack pid |grep -A 10  tid(用16进制 转换,-A 表示 打印后10数据)

6.通过上面已经知道是哪个类,哪个方法出了问题,这是我们直接去项目工程中定位到这个方法

(idea  可以使用快捷键  ctr+shift+alt+n)查看方法内容

7.确定有可能是这个循环创建对象的程序有问题,这时可以查到程序的日志,通过

grep  “rows”  日志.log.  既然可以看到 column的值这么大,这时你应该想到是怎么回事啦,赶紧改代码吧。

总结: 就这次的排查过程,让我清楚到了怎么去定位问题。希望大家也能够学会。

无敌TG , 给小编一个赞吧

相关文章

  • cpu 真的飙到270%,一次很好的排查体验

    场景: 来自一次真的排查过程,运营经理在dashborad下载一家门店图片,下载了10多分钟(平时基本1分钟搞定的...

  • ES问题排查及优化

    一、背景最近有报es搜索超时异常,服务器CPU飙高(达130%到),于是开始进行排查 二、排查1.项目组设置接口请...

  • 排查线上CPU飙高

    1、本案例的排查过程使用的阿里开源的Arthas工具进行的,不使用arthas,使用JDK自带的命令也是可以。 2...

  • Java服务CPU飙到99%问题排查

    欢迎大家关注我的博客:Neo的博客 刚开始写会不定期更新的。 一大早刚来到公司工位上,电话响起来了,一看是运维老湿...

  • Java问题排查-CPU飙高

    方法一 命令行工具 查看哪些Java进程在运行 查看具体进程线程占用情况,(shift+p 按cpu排序,shif...

  • CPU 突然飙高排查思路

    1. 首先通过ps -ef | grep java 找到对应的服务的进程ID即PID 2. 然后通过 top -...

  • JAVA线上常见问题排查

    1.线上CPU飙高排查思路 一般常见的原因主要是:①死循环(while / 递归 / for循环相关等 )②锁相...

  • 平时碰到系统CPU飙高和频繁GC

    平时碰到系统CPU飙高和频繁GC,你会怎么排查? 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 10...

  • 记一次清理服务器挖矿程序注入kdevtmpfs

    前几天突然发现公司服务器很卡,CPU经常飙到200%;网站服务被自动停止,甚至服务器崩溃;于是进行排查,发现一个名...

  • CPU飙高排查一般步骤

    cpu飙高肯定是有一个进程中的某一个线程在疯狂占用cpu资源,所以线上排查一般是步骤如下: top 找出cpu高的...

网友评论

      本文标题:cpu 真的飙到270%,一次很好的排查体验

      本文链接:https://www.haomeiwen.com/subject/tkommftx.html