zl程序教程

您现在的位置是:首页 >  系统

当前栏目

linux上查看jvm GC详情并获取jvm当前dump文件

LinuxJVM文件 获取 查看 当前 GC dump
2023-09-11 14:16:27 时间

linux上查看jvm GC情况

通过命令行:jstat -gc [pid] [刷新频率ms]
其中pid为要查看的java进程的id,刷新频率为每个多少毫秒刷新一次GC情况。显示内如如下图:
在这里插入图片描述
上图中是查看进程id为12711的Java项目,每隔1秒即1000毫秒刷新一次。
参数说明:
1、S0C 和 S1C:Survivor(幸存区) 0/1区的容量(单位为KB);
2、S0U 和 S1U:Survivor(幸存区) 0/1区目前已使用的空间(单位为KB);
3、EC:年轻代中Eden(伊甸园)的容量(单位为KB);
4、EU:年轻代中Eden(伊甸园)目前已使用空间(单位为KB);
5、OC:年老代的容量(单位为KB);
6、OU:年老代目前已使用的空间(单位为KB);
7、MC:元空间(方法区)的容量(单位为KB);
8、MU:元空间(方法区)目前已使用空间(单位为KB);
9、CCSC:压缩类空间的容量(单位为KB);
10、CCSU:压缩类空间目前已使用空间大小(单位为KB);
11、YGC:年轻代垃圾回收次数;
12、YGCT:年轻代垃圾回收消耗时间(单位为秒);
13、FGC:年老代垃圾回收次数;
14、FGCT:年老代垃圾回收消耗时间(单位为秒);
15、GCT:垃圾回收消耗总时间(单位为秒)。

linux获取jvm当前dump文件

命令行为:jmap -dump:file=[文件名] [pid]
然后等待生成dump文件,生成的dump文件就在当前目录下。如下图:
在这里插入图片描述
然后就可以下载到本地,用本地jdk里自带的jvisualvm来解析文件。
在用本地的jvisualvm解析之前,先双击打开jvisualvm.exe,然后点击【工具】,选择【插件】,安装所需插件,如下图:
在这里插入图片描述
然后在可用插件里找到Visual GC插件,进行安装,如下图(这里我事先已经安装好了):
在这里插入图片描述
安装完后,重新打开jvisualvm.exe,然后点击左上角的【文件】,选择【装入】,装入刚才下载到本地的dump文件,这里的装入类型选择【堆 Dump】类型,如下图所示:
在这里插入图片描述
然后就可以来分析dump文件了。