jvm异常排查


一、查看某个进程占用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文件进行日志分析。

在这里插入图片描述

posted @ 2022-08-03 23:56  ah_lydms  阅读(51)  评论(0编辑  收藏  举报