Работает ли опция -XX: + HeapDumpOnOutOfMemoryError с сервером приложений Oracle? - PullRequest
2 голосов
/ 09 декабря 2008

Иногда мы получаем OutOfMemoryError в работе, и я хотел бы иметь возможность проанализировать, что вызвало проблему, или, по крайней мере, что происходило, когда она возникла. Похоже, я смогу получить профиль HProf, используя опцию -XX: + HeapDumpOnOutOfMemoryError, но я прочитал, что это специфично для JVM.

Кто-нибудь успешно использовал эту опцию с Oracle Application Server v10.1.2.0.2? Если да, есть ли у вас какие-либо советы о том, как проанализировать полученный файл?

Ответы [ 3 ]

2 голосов
/ 09 июля 2009

Oracle OC4J сертифицирован для Sun JVM 1.3.1 и 1.4.2 (см. в этом PDF ).

Опция -XX: + HeapDumpOnOutOfMemoryError была введена в Java 6 и перенесена в Java 5.0, обновление 7 и Java 1.4.2, обновление 2. Поэтому, чтобы использовать эту опцию, вы должны запустить OC4J на одной из этих JVM.

Для анализа дампа памяти hprof вы можете использовать целый ряд инструментов, таких как Eclipse Memory Analyzer (входит в Eclipse 3.5 Galileo), VisualVM или NetBeans.

0 голосов
/ 24 декабря 2008

Да, это зависит от вашей версии JVM. Некоторые JVM не поддерживают параметр -XX: + HeapDumpOnOutOfMemoryError.

0 голосов
/ 10 декабря 2008

Этот параметр специфичен для JVM SUN / SAP / HP, и я сомневаюсь, что он будет работать, если вы используете JRockit VM. JRockit также может вообще не поддерживать формат hprof, потому что это не требуется спецификацией Java.

Возможно, вы захотите проверить Yourkit , который является единственным известным мне инструментом, который приближается к Eclipse Memory Analyzer для анализа использования памяти . Кажется, для поддержки JRockit.

...