Java常用内存诊断命令

Java常用内存诊断命令

java官网

常用命令

jcmd
jmap
jinfo
jstat

jcmd

jcmd
显示java进程
在这里插入图片描述
jcmd pid help
看某个进程的详细信息
在这里插入图片描述
查询heap信息 jcmd pid GC.heap_info
在这里插入图片描述
查看启动参数 jcmd pid VM.falgs
在这里插入图片描述
查询运行时间 jcmd pid VM.uptime
在这里插入图片描述
打印线程 jcmd pid Thread.print
在这里插入图片描述

jmap

遇到
Error attaching to process: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are 25.77-b03. Target VM is 25.191-b12
sun.jvm.hotspot.debugger.DebuggerException: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are 25.77-b03. Target VM is 25.191-b12

在这里插入图片描述
解决方案:
进入jdk 的bin目录
./jmap pid

./jmap -heap pid
打印详细的heap信息

在这里插入图片描述
./jmap -histo:live pid
打印存活对象数量,以字节为单位的内存大小以及完全限定的类名称
./jmap -histo pid
打印对象数量,以字节为单位的内存大小以及完全限定的类名称

在这里插入图片描述

jinfo

遇到
Error attaching to process: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are 25.77-b03. Target VM is 25.191-b12
sun.jvm.hotspot.debugger.DebuggerException: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are 25.77-b03. Target VM is 25.191-b12

解决方案:
进入jdk 的bin目录
./jinfo pid
在这里插入图片描述
./jinfo -flags pid 查询java 启动参数 和 jcmd pid VM.falgs一样
在这里插入图片描述

jstat

详细使用方法

常用参数

class:显示有关类加载器行为的统计信息。

compiler:显示有关Java HotSpot VM即时编译器行为的统计信息。

gc:显示有关垃圾收集堆行为的统计信息。

gccapacity:显示有关世代容量及其相应空间的统计信息。

gccause:显示有关垃圾收集统计信息的摘要(与相同-gcutil),以及上一次和当前(如果适用)垃圾收集事件的原因。

gcnew:显示新一代行为的统计信息。

gcnewcapacity:显示有关新一代大小及其相应空间的统计信息。

gcold:显示有关旧时代行为的统计信息和元空间统计信息。

gcoldcapacity:显示有关上一代的大小的统计信息。

gcmetacapacity:显示有关元空间大小的统计信息。

gcutil:显示有关垃圾收集统计信息的摘要。

printcompilation:显示Java HotSpot VM编译方法统计信息。

在这里插入图片描述
jstat -gc pid 1000 10
没1s 打印一次 打印10次
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值