java - 解析堆转储文件

标签 java jvm heap-dump hprof

我有一个应用程序,显然我创建了太多对象,我收到此消息:

java.lang.OutOfMemoryError: Java heap space Dumping heap to java_pid2468.hprof ... Heap dump file created [1087703293 bytes in 18.711 secs] Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

但是我在MAT中安装了插件,我想看看我构建了多少个对象,以及哪些对象占用了最多的内存。 但是,当我想解析 hprof 文件时,我收到此错误消息:

An internal error occurred during: "Parsing heap dump from 'C:\Users\sekulicd\workspace\Csv_validation_MyIsam\java_pid2468.hprof'". Java heap space

hprof 文件的大小是 1,087,703,293 字节,我需要这些问题的答案:

  1. 是否由于 hprof 文件大小而导致解析失败?
  2. 我可以只解析那些没有发生错误的项目的 hprof 文件吗 “java.lang.OutOfMemoryError:Java堆空间”?
  3. 有什么方法可以解析这个文件(1,087,703,293 字节)吗?

最佳答案

尝试增加堆的大小,即使对于解析转储来说它似乎也太小了。看看这个post .

关于java - 解析堆转储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9531269/

相关文章:

java - 通过Java API进行Elasticsearch查询

Java XPath(Apache JAXP 实现)性能

jvm - 为什么 JVM 在启动时随着时间的推移执行相同的程序会更快?

java - 64 位 JVM 的最大可能堆大小是多少?

Android ==> 内存分析 ==> Eclipse 内存分析器?

java - 是否可以从堆转储中实例化 jvm?

java - 使用 Spring boot 解析具有无效键值的 JSON 对象

java - 年轻代的大小将如何调整?

Java程序消耗大量内存(增长了Xmx的1.5倍)

java - 如何使用一些附加规则编写字符串排序