美文网首页
定位CPU过高问题

定位CPU过高问题

作者: superxcp | 来源:发表于2021-05-12 17:31 被阅读0次

首先,自己写一个死循环模拟cpu过高场景


image.png
  • 执行 top -c 命令,查看占用cpu最高的进程
    image.png
    可以看到,PID为5064的进程占用100%的cpu了

然后,执行 top -Hp 5064 ,显示该进程的线程运行信息列表(按P可以按cpu使用率排序),找到占用cpu占用最多的线程号

image.png

PID=5064中,占用cpu最多的线程是5075

5075是十进制,转换为十六进制是'0x13d3'

  • 执行 jstack -l 5064 > ./5064.stack 命令,将进程快照保存到5064.stack文件中
  • 执行 cat 5064.stack | grep '13d3' -C 10 ,根据线程号13d3查出对应的java线程和代码位置

jstack-查看进程,jmap-查看内存,jstate-性能分析

image.png

由此定位到问题在com.miui.rommgr.utils.git.GitUtils.main(GitUtils.java:206)这个位置

相关文章

  • 定位CPU过高问题

    首先,自己写一个死循环模拟cpu过高场景 执行 top -c 命令,查看占用cpu最高的进程image.png可以...

  • 如何定位java进程cpu占用过高

    如何定位java进程cpu占用过高 如何定位java进程cpu占用过高,分三步走 根据cpu消耗,打印出pid进程...

  • 排查CPU磁盘等问题

    排查CPU问题 1.top -H 定位进程,确定是否是java进程占用CPU过高2.top -H -p 6610 ...

  • 2019-08-14

    上午协助定位抽取器工程运行时cpu占用过高的问题,发现运行时大量加载本地大文件并实时解析,且消耗cpu过高,建议开...

  • cpu使用率过高问题定位

    top命令分析进程的CPU使用率执行top -c ,显示进程运行信息列表,可以看到每个进程的CPU使用率键入大写P...

  • cpu占用率过高问题定位

    找到进程top -c 显示进程详细信息(包含了运行参数)的列表键入大写P,按照cpu使用率排序 找到该进程中最耗C...

  • linux下如何定位CPU过高问题

    linux下如何定位CPU过高问题 1 先查看进程pid 2 查看线程占用率情况 top -H -p pidlin...

  • Java 程序 CPU 使用率过高问题定位与修复

    问题现象:CPU 负载过高 我们线上的 jenkins 系统,时不时会发生 CPU 负载过高的现象。 CPU 负载...

  • 定位CPU占用过高

    1、ps -ef|grep ''获取 进程pid 2、top -Hp pid查看该进程下占用高的线程的Pid(下面...

  • Java问题定位:CPU占用过高分析

    一般在开发Java的时候,为防止占用过多的资源,对CPU和内存的占用,都会有一个要求,例如CPU不能超过70%,内...

网友评论

      本文标题:定位CPU过高问题

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