JVM调优常用工具及命令

发布于:2022-12-15 ⋅ 阅读:(272) ⋅ 点赞:(0)

一、JVM常用命令

jps:查看当前执行的所有 JAVA 进程
jinfo: 实时查看 JVM 参数
jinfo -flag InitialHeapSize PID:JAVA 进程堆内存大小 24
jinfo -flag UseG1GC PID:JAVA 进程是否使用 G1GC
jinfo -flag UseParallelGC PID:JAVA 进程是否使用 ParallelGC
jstat:虚拟机性能信息
jstat -class PID 1000:每秒查看一次虚拟机中类加载信息
jmap:打印快照
jmap -heap PID:查看堆存储快照
jmap -dump:format=b,file=heap.hprof PID:在出现内存溢出异常时,将堆内存的信息下载到文件中

二、JVM常用工具

(1)JVM堆内存文件查看工具

MemoryAnalyzer(Mat)

主页面
在这里插入图片描述
一般情况下,我们会让项目在发生 OOM 异常时自动下载堆内存信息,进行错误的排查。此时我们需要给 JVM 配置如下代码:

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heap.hprof

运行后会产生heap.hprof文件,普通软件打开会乱码,用上面的wat打开即可,就可以追踪到造成异常的原因

(2)垃圾收集器 log 文件查看工具:

如果我们要进行垃圾回收调优,首先需要将 GC 信息打印出来,此时我们需要给 JVM配置如下代码:

-XX:+PrintGCDetails 
-XX:+PrintGCTimeStamps 
-XX:+PrintGCDateStamps
-Xloggc:gc.log

GCViewer

运行 GCViewer:输入命令 java -jar gcviewer-1.36-SNAPSHOT.jar
就会出现一下窗口,打开生成的gc.log文件(查看决定性能的两个因素:吞吐量和暂停时间)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、G1GC调优

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到