-XX:+HeapDumpOnOutOfMemoryError 选项是否适用于 Oracle 应用服务器?
我们有时会在生产中遇到 OutOfMemoryError,我希望能够分析导致问题的原因,或者至少分析问题发生时发生的情况。 看来我应该能够通过使用 -XX:+HeapDumpOnOutOfMemoryError 选项来获取 HProf 配置文件,但我读到这是 JVM 特定的。
有人在 Oracle 应用服务器 v10.1.2.0.2 中成功使用此选项吗? 如果是这样,您对如何分析生成的文件有什么建议吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Oracle OC4J 经过 Sun JVM 1.3.1 和 1.4.2 认证(请参阅 此 PDF)。
-XX:+HeapDumpOnOutOfMemoryError 选项是在 Java 6 中引入的,并向后移植到 Java 5.0 update 7 和 Java 1.4.2 update 2。因此,为了使用此选项,您应该在这些 JVM 之一上运行 OC4J。
要分析 hprof 内存转储,您可以使用很多工具,例如 Eclipse Memory Analyzer(包含在 Eclipse 3.5 Galileo 中)、VisualVM 或 NetBeans。
Oracle OC4J is certified for Sun JVM 1.3.1 and 1.4.2 (see this PDF).
The -XX:+HeapDumpOnOutOfMemoryError option was introduced in Java 6 and backported to Java 5.0 update 7 and Java 1.4.2 update 2. So in order to use this option you should run OC4J on one of these JVM's.
To analyse a hprof memory dump you can use quite a number of tools such as Eclipse Memory Analyzer (included with Eclipse 3.5 Galileo), VisualVM or NetBeans.
此选项特定于 SUN/SAP/HP JVM,我怀疑如果您使用 JRockit VM,它是否会起作用。 JRockit 也可能根本不支持 hprof 格式,因为 Java 规范不要求它。
您可能需要检查 Yourkit 这是我所知道的唯一工具与 Eclipse 内存分析器 很接近。 com/search/label/memory" rel="nofollow noreferrer">内存使用分析。 好像支持JRockit。
This option is specific to SUN/SAP/HP JVM's, and I doubt it would work if you use the JRockit VM. JRockit might also not support the hprof format at all, because it's not required by the Java spec.
You may want to check Yourkit which is the only tool I'm aware of that comes close to the Eclipse Memory Analyzer for memory usage analysis. It seems to support JRockit.
是的,这取决于您的 JVM 版本。 有些JVM似乎不支持-XX:+HeapDumpOnOutOfMemoryError参数。
Yes, It depends on your JVM version. Some JVMs do not seem to support -XX:+HeapDumpOnOutOfMemoryError parameter.