记一次线上排查cpu飙升原因

  1. 使用top 查看程序占用情况定位到是哪个服务占用cpu过高
    记一次线上排查cpu飙升原因_第1张图片

  2. 根据第一步的pid定位到是哪个线程cpu使用异常
    top -H -p 67849
    记一次线上排查cpu飙升原因_第2张图片

  3. 使用sudo jstack 67849> jstack.log 将当前服务的堆栈信息输出到一个文件中

  4. 将第二步找到的异常线程的pid转换成为16进制
    printf ‘%x\n’ 68020

  5. 在第三步输出文件中查找 nid=0x<16进制pids>的线程,查看具体是哪个线程占用cpu异常

记一次线上排查cpu飙升原因_第3张图片
备注: 以上截图均为事故解决后为记录笔记而截取的,
事故原图:
记一次线上排查cpu飙升原因_第4张图片

你可能感兴趣的:(java,java,linux)