美文网首页
CPU使用率高问题排查

CPU使用率高问题排查

作者: chanyi | 来源:发表于2020-08-14 08:46 被阅读0次

1、CPU使用率原因

CPU使用率高的原因有:
1、频繁的IO操作
2、线程里死循环打印
3、频繁的full gc(一般是old空间不够)
一般除了计算密集型外,基本都是死循环(死锁或者while(true))导致的。
4、多次序列化反序列化

2、问题排查步骤

1、top 找出cpu高的java进程号xxx

2、top -H -p xxx
可以显示该进程的所有线程的资源消耗情况,找出cpu消耗时间消耗最多的java线程id,假如为yyy,这里yyy是用十进制表示的,需要转换为十六进制,可以使用计算器或者printf "%x\n" yyy命令,假如转换后线程id为zzz

3、jstack yyy >> aaaa.txt
将该线程堆栈信息导入这个文件,然后文件中查询相应的线程id,文件中的线程id是十六进制的,需要用转化好的去查询。然后尝试定位出现问题的代码
如果直接使用jstack 线程id出现错我Unable to open socket file: target process not responding or HotSpot VM not loaded The -F option can be used when the target process is not responding,则说明这个java进程的pid文件删除了。
为什么会被删除呢?这是因为linux操作系统为了防止/tmp目录文件过多,有个删除管理机制:tmpwatch

相关文章

  • 排查MongoDB CPU使用率高的问题

    排查MongoDB CPU使用率高的问题

  • CPU使用率高问题排查

    1、CPU使用率原因 CPU使用率高的原因有:1、频繁的IO操作2、线程里死循环打印3、频繁的full gc(一般...

  • 如何排查java应用中CPU使用率高或内存占用高的问题

    如何排查java应用中CPU使用率高或内存占用高的问题?这类问题的排查步骤基本通用的。现在通过一个具体的例子来说明...

  • CPU使用率高问题排查方案

    引言 Java程序在实际生产过程中经常遇到CPU使用率高的问题,那么应该如何排查问题的原因呢,本文大概描述一下排查...

  • Java导致CPU LOAD高排查过程

    比较初阶的case,CPU使用率高。哔哩哔哩地址:CPU LOAD过高排查过程[https://www.bilib...

  • JVM问题排查

    一、线上CPU飚高、死锁等排查基本步骤: 1、top 记录CPU使用率最高的JAVA进程PID 2、top -H...

  • JVM问题常用排查命令

    JVM问题常用排查命令 @Date 2017.05.23 JVM调优问题 CPU使用率与Load值偏大 : Thr...

  • 2018-09-10

    Hbase 高 cpu 线上Hbase使用降低90%,但是使用率尽然稳步提升。 经过排查,Hbase数据到期自动清...

  • JVM 问题排查

    CPU使用率高 找出使用率高的进程的pid 找出使用率高的线程tpid 查看使用率高的线程当前在干什么 GC问题 ...

  • 排查java-CPU使用率高的问题

    记录一次线上排查CPU使用高的问题 使用top命令找到占用CPU高的进程PID 显示线程列表 使用 找到占用CPU...

网友评论

      本文标题:CPU使用率高问题排查

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