jvm异常排查

文章目录

    • 一、查看某个进程占用CPU过高问题
    • 二、dump文件分析(查看内存class占用)
      • 1、jmap:生成dump文件
      • 2、mat分析dump文件
      • 3、JDK自带Java VisualVM分析


一、查看某个进程占用CPU过高问题

查看当前系统CPU占用情况

top

PID为29706占用过高

查看占用过高进程中线程使用情况(可以得到每个线程占用资源情况)

top -Hp 29706

将JVM信息导出到pid.txt文件汇总

jstack 29709 > pid.txt

将进程PID转为16进制

printf '%x' 29709

在打开的文件中寻找占用CPU过高进程信息

vim pid.txt
/1677

二、dump文件分析(查看内存class占用)

1、jmap:生成dump文件

  • test05.txt:生成的文件
  • 115025:PID
jmap -dump:live,format=b,file=test05.txt 115025

2、mat分析dump文件

网址:

https://www.eclipse.org/mat/downloads.php

文件地址:
CSDN(Mac+Windows)

https://download.csdn.net/download/weixin_44624117/20827238

使用:

3、JDK自带Java VisualVM分析

打开/bin,目录下jvisualvm.exe文件进行日志分析。

jvm异常排查_第1张图片

你可能感兴趣的:(日常Bug,jvm,java,异常,cpu)