-XX:+ HeapDumpOnOutOfMemoryError选项是否适用于Oracle Application Server?

时间:2008-12-09 16:30:56

标签: memory java-ee profiling oc4j

我们有时会在生产中遇到OutOfMemoryError,我希望能够分析导致问题的原因,或者至少在发生问题时会发生什么。看来我应该能够通过使用-XX:+ HeapDumpOnOutOfMemoryError选项来获取HProf配置文件,但我已经读过这是特定于JVM的。

是否有人在Oracle Application Server v10.1.2.0.2中成功使用此选项?如果是这样,您对如何分析生成的文件有任何提示吗?

3 个答案:

答案 0 :(得分:2)

Oracle OC4J已通过Sun JVM 1.3.1和1.4.2认证(请参阅this 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。

答案 1 :(得分:0)

此选项特定于SUN / SAP / HP JVM,我怀疑如果您使用JRockit VM,它会起作用。 JRockit可能根本不支持hprof格式,因为Java规范不要求它。

您可能需要查看Yourkit这是我所知道的唯一一个接近Eclipse Memory Analyzer memory usage analysis的工具。它似乎支持JRockit。

答案 2 :(得分:0)

是的,这取决于您的JVM版本。某些JVM似乎不支持-XX:+ HeapDumpOnOutOfMemoryError参数。