2008-12-09 24 views
2

我們有時會在生產中遇到OutOfMemoryError,我希望能夠分析是什麼引起了問題,或者至少發生了什麼事情。看起來我應該可以通過使用-XX:+ HeapDumpOnOutOfMemoryError選項來獲得HProf配置文件,但我已經讀過這是特定於JVM的。-XX:+ HeapDumpOnOutOfMemoryError選項是否與Oracle應用服務器一起使用?

是否有人在Oracle Application Server v10.1.2.0.2中成功使用了此選項?如果是這樣,你有關於如何分析結果文件的任何提示?

回答

2

Oracle OC4J已通過Sun JVM 1.3.1和1.4.2認證(請參閱this PDF)。

在Java 6中引入了-XX:+ HeapDumpOnOutOfMemoryError選項,並且已將其移植到Java 5.0 update 7和Java 1.4.2 update 2.因此,爲了使用此選項,您應該在這些JVM之一上運行OC4J。

要分析hprof內存轉儲,您可以使用許多工具,如Eclipse Memory Analyzer(包含在Eclipse 3.5 Galileo中),VisualVM或NetBeans。

0

該選項特定於SUN/SAP/HP JVM's,如果您使用JRockit VM,我懷疑它會起作用。 JRockit可能根本不支持hprof格式,因爲它不是Java規範所要求的。

您可能想檢查Yourkit這是我知道的唯一工具,它接近Eclipse Memory Analyzermemory usage analysis。它似乎支持JRockit。

0

是的,這取決於您的JVM版本。有些JVM似乎不支持-XX:+ HeapDumpOnOutOfMemoryError參數。

相關問題