jhat分析dump文件,报错“java.lang.OutOfMemoryError”问题的解决

1、问题及现象

 

有个14G大小的dump文件,通过jhat工具进行分析

 

报错内存溢出

Reading from gl.hprof...
Dump file created Wed Jun 08 17:56:28 CST 2022
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
	at java.util.Hashtable.addEntry(Hashtable.java:436)
	at java.util.Hashtable.put(Hashtable.java:477)
	at com.sun.tools.hat.internal.model.Snapshot.addHeapObject(Snapshot.java:166)
	at com.sun.tools.hat.internal.parser.HprofReader.readInstance(HprofReader.java:744)
	at com.sun.tools.hat.internal.parser.HprofReader.readHeapDump(HprofReader.java:491)
	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)
[root@nccztsjb-node-27 data]# netstat -ntlp

 

换了一台32G内存的主机,执行还是报错内存溢出,就在思考,是不是jhat工具本身有内存的限制··· ···

 

于是查找到了如下的解决方案······

2、解决方法

 

增加jhat使用的内存

jhat -J-mx20g gl.hprof

通过-J来指定内存的大小。【-J-mx20g】

posted @ 2022-06-10 15:10  Zhai_David  阅读(987)  评论(0编辑  收藏  举报