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

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文件了。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要查看JVM内存使用情况,可以使用以下命令: 1. jps命令:查看Java进程的进程ID 2. jstat命令:查看JVM内存使用情况,包括堆内存、非堆内存、GC情况等 3. jmap命令:生成JVM内存快照,可以用于分析内存泄漏等问题 4. jconsole命令:图形化界面查看JVM内存使用情况,包括堆内存、非堆内存、GC情况等 以上命令都可以在Linux系统下使用。 ### 回答2: 在Linux系统中查看JVM内存使用非常简单,只需要使用命令行工具即可。 首先,我们需要确认JDK已经安装在系统中。在终端中输入下面命令来检查Java版本: java -version 如果Java命令不存在,则需要安装JDK。在Ubuntu系统中,可以使用下面命令来安装OpenJDK: sudo apt-get install openjdk-8-jdk 安装完成后,我们可以在终端中运行下面命令来启动JVM: java -Xms256m -Xmx1024m -jar myapp.jar 该命令可以启动一个Java应用程序,并设置初始堆内存为256M,最大堆内存为1024M。当程序运行时,我们可以使用下面命令来查看JVM内存使用情况: jstat -gc <pid> <interval> <count> 其中,<pid>是JVM进程的进程号,<interval>是采样间隔(以毫秒为单位),<count>是采样次数。 例如,我们可以使用下面命令来查看JVM进程的进程号: ps aux | grep java 然后,使用进程号来查看JVM内存使用情况: jstat -gc <pid> 1000 10 该命令将每秒钟采样一次,共采样10次,然后输出JVM的堆内存使用情况和垃圾回收情况。 除了jstat命令外,我们还可以使用其他工具来查看JVM内存使用情况,例如jmap、jcmd、jstatd等。这些工具的用法和参数不同,请根据需要选择合适的工具。 总之,Linux查看JVM内存使用情况非常方便,只需要用一些简单的命令就可以完成。这对于调试Java程序和优化JVM性能非常有帮助。 ### 回答3: 在Linux系统中,我们可以使用多种方式来查看Java虚拟机(JVM)内存的使用情况,下面介绍几种常用的方法: 1.使用jstat命令 jstat是Java Development Kit(JDK)中自带的一个监控JVM的工具,它能监控JVM内存的使用情况,包括整体内存使用、堆内存使用、非堆内存使用、永久代内存使用等。使用jstat命令,可以获取JVM内存的各项指标,并指导性能调优。以下是查看堆内存和非堆内存使用情况的命令: - 查看堆内存使用情况:jstat -gcutil [pid] [间隔时间] [查看次数] - 查看非堆内存使用情况:jstat -gc [pid] [间隔时间] [查看次数] 其中,[pid]是进程ID,[间隔时间]是每隔多少毫秒获取一次内存使用情况,[查看次数]是总共查看的次数。 2.使用jps和jmap命令 jps是JDK中的一个命令,用来列出JVM进程ID,也可以查看JVM进程的启动参数。jmap是JDK中的一个堆转储工具,可以生成JVM堆的转储快照,以及查询JVM内存使用情况。以下是查看JVM内存使用情况的命令: - 查看JVM进程ID:jps - 生成JVM堆快照:jmap -dump:file=[堆快照文件名] [pid] - 查询JVM内存使用情况:jmap -heap [pid] 其中,[pid]是进程ID。 3.使用top命令 top是系统资源监视器,可以通过top命令查看系统中所有进程的CPU、内存等资源使用情况。通过top命令可以查看JVM进程的CPU和内存使用情况。以下是查看JVM进程的内存使用情况的命令: - top -p [pid] 其中,[pid]是进程ID。 通过以上这些方式,我们可以了解JVM的内存使用情况,方便我们进行性能调优和资源管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值