首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将大型hprof加载到jhat中

将大型hprof加载到jhat中
EN

Stack Overflow用户
提问于 2009-12-03 04:55:14
回答 4查看 27.5K关注 0票数 26

我有一个6.5 64的Hprof文件,它是由64位JVM使用-XX:-HeapDumpOnOutOfMemoryError选项转储的。我把它放在一台16 64的64位机器上,并试图把它放到jhat中,但它总是内存不足。我曾尝试传入jvm args作为最小设置,但它拒绝任何最小值,并且似乎在达到最大值之前就耗尽了内存。

内存耗尽的jvm转储的堆如此之大,以至于无法将其加载到具有两倍ram的机器上,这似乎有些愚蠢。有没有什么方法可以让它运行起来,或者可能让分析摊销?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-12-03 05:58:56

我会看一下eclipse memory analyzer。这个工具很棒,我已经用这个工具查看了几个Gig堆。这个工具的好处是它在转储上创建了索引,所以它不会一次全部放在内存中。

票数 22
EN

Stack Overflow用户

发布于 2010-12-03 08:51:42

使用等同于jhat -J-d64 -J-mx16g myheap.hprof的命令来启动jhat,即,这将以64位模式启动jhat,最大堆大小为16 16。

如果您的平台上的JVM缺省为64位模式操作,那么-J-d64选项应该是不必要的。

票数 24
EN

Stack Overflow用户

发布于 2011-09-15 23:13:42

我必须加载一个11 GB的hprof文件,使用eclipse内存分析器无法加载。我最终做的是编写一个程序,通过随机删除实例信息来减小hprof文件的大小。一旦我将hprof文件的大小减小到1 1GB,我就可以用eclipse内存分析器打开它,并获得导致内存泄漏的原因的线索。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1835743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档