jvm工具系列之 -- jhat

使用 jmap 产生的java 内存文件,使用 jmap 生成堆转储快照。如果文件比较大,需要较多的内存,可以放在服务器上,用 jhat 分析。jhat 分析之后,监听一个端口,可以通过 web 的方式访问这个端口进行分析

jhat <dumpfile>, 当屏幕显示 "Server is ready"后,用户在浏览器中输入 http://<ipaddress >:7000/ 就可以看到分析结果.

当生成的文件比较大时,直接用jhat 命令会内存溢出。

[hadoop@sdf-spark-master1 hadoop]$ jhat jvm-dump-resourcemanager1-20160511.bin 
Reading from jvm-dump-resourcemanager1-20160511.bin...
Dump file created Wed May 11 18:19:03 CST 2016
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
	at com.sun.tools.hat.internal.parser.HprofReader.readInstance(HprofReader.java:735)
	at com.sun.tools.hat.internal.parser.HprofReader.readHeapDump(HprofReader.java:484)
	at com.sun.tools.hat.internal.parser.HprofReader.read(HprofReader.java:275)
	at com.sun.tools.hat.internal.parser.Reader.readFile(Reader.java:92)
	at com.sun.tools.hat.Main.main(Main.java:159)


jhat使用-Xmx会直接报错。

使用以下命令就可以:

jhat -J-d64 -J-ms20g -J-mx100g -port 8999 jvm-dump-resourcemanager1-20160511.bin

-Jms20g设置启动内存20g

-Jmx100g设置最大内存100g

-port 8999 设置端口为8999

Use the equivalent of "jhat -J-d64 -J-mx100g myheap.hprof" as a command to launch jhat, i.e., this will start jhat in 64-bit mode with a maximum heap size of 100 gigabytes.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值