jvm监控工具之

jhat是什么

jhat是jdk内置的工具之一。主要是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言。

操作步骤

1:导出堆

#jmap -dump:live,file=a.log pid

除了使用jmap命令,还可以通过以下方式:

1、使用 jconsole 选项通过 HotSpotDiagnosticMXBean 从运行时获得堆转储(生成dump文件)

2、虚拟机启动时如果指定了 -XX:+HeapDumpOnOutOfMemoryError 选项, 则在抛出 OutOfMemoryError 时, 会自动执行堆转储。
参数说明
-Xms20M最小堆
-Xmx20M最大堆
-XX:+HeapDumpOnOutOfMemoryError内存溢出时dump出堆文件
-XX:HeapDumpPath=filePath文件生成地址
3、使用 hprof 命令

2:分析堆文件

jhat [ options ] heap-dump-file

参数详解

3 : 查看html

在这里插入图片描述
对于jhat启动后显示的html页面中功能:
(1)显示出堆中所包含的所有的类
在这里插入图片描述
(2)从根集能引用到的对象
在这里插入图片描述
(3)显示平台包括的所有类的实例数量
在这里插入图片描述
(4)堆实例的分布表
在这里插入图片描述
(5)执行对象查询语句
在这里插入图片描述

输入内容如:

#查询长度大于100的字符串
select s from java.lang.String s where s.count > 100

详细的OQL可点击上图的“OQL help”

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值