首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何分析.hprof文件?

如何分析.hprof文件?
EN

Stack Overflow用户
提问于 2008-10-09 04:04:03
回答 7查看 368.9K关注 0票数 254

我有一个使用以下标志运行的生产服务器:-XX:+HeapDumpOnOutOfMemoryError

昨天晚上,当我们的服务器遇到堆错误时,它生成了一个java-38942.hprof文件。事实证明,系统的开发人员知道该标志,但无法从其中获得任何有用的信息。

有什么想法吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-10-09 04:41:31

如果您想要一个相当高级的工具来做一些重要的探索工作,可以看看the Memory Analyzer project的Eclipse,它是由SAP提供的。

您可以做的一些事情对于查找内存泄漏等非常有用--包括对内存中对象运行一种形式的有限SQL (OQL)。

从com.yourcompany.somepackage.User中选择toString(firstName)

太有才了。

票数 239
EN

Stack Overflow用户

发布于 2008-10-09 04:17:01

您可以使用JHAT,这是JDK默认提供的Java Heap Analysis工具。它是命令行,但会启动一个web服务器/浏览器,你可以用它来检查内存。不是最友好的用户,但至少它已经安装在你要去的大多数地方。一个非常有用的视图是最底部的“堆直方图”链接。

例如:jhat -port 7401 -J-Xmx4G dump.hprof

jhat现在也可以执行OQL (底部链接"execute OQL")

票数 84
EN

Stack Overflow用户

发布于 2008-10-09 16:41:06

您还可以从Netbeans Profiler或Visual VM独立工具中使用HeapWalker。Visual VM是JHAT的一个很好的替代方案,因为它是独立的,但比JHAT更容易使用。

您需要Java 6+才能充分使用Visual VM。

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

https://stackoverflow.com/questions/185893

复制
相关文章

相似问题

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