Где найти дамп "кучи" после “Из Памяти”

Я использую ASANT для выполнения XML-файла, который указывает на файл NARS.jar.

Я добираюсь "java.lang. OutOfMemoryError: пространство "кучи" Java" и я исследую вокруг этого.

Таким образом, я нашел, что должен установить "-XX: + HeapDumpOnOutOfMemoryError", для создания файла дампа для анализа.

Я отредактировал ASANT.bat и добавил "-XX: + HeapDumpOnOutOfMemoryError" к ANT_OPTS:

set ANT_OPTS= "-XX:+HeapDumpOnOutOfMemoryError" "-Dos.name=Windows_NT" "-Djava.library.path=%AS_INSTALL%\lib;%AS_ICU_LIB%;%AS_NSS%" "-Dcom.sun.aas.installRoot=%AS_INSTALL%" "-Dcom.sun.aas.instanceRoot=%AS_INSTALL%" "-Dcom.sun.aas.instanceName=server" "-Dcom.sun.aas.configRoot=%AS_CONFIG%" "-Dcom.sun.aas.processLauncher=SE" "-Dderby.root=%AS_DERBY_INSTALL%"  

Но я, может казаться, не нахожу файла дампа. Я буду использовать Память Eclipse Анализатор для анализа, когда я найду дамп.

Я также пытался установить опцию "-XX:HeapDumpPath=c:\memdump\bds.hprof", но никакой дамп не был создан там.

Кто-либо понял то, что я делаю неправильно?Заранее спасибо

5
задан Ikky 9 March 2010 в 13:50
поделиться

4 ответа

Я обнаружил, что могу использовать VisualVM от SUN, чтобы получить кучу и увидеть ее вживую.

Простое решение

1
ответ дан 15 December 2019 в 06:23
поделиться

Он находится в рабочем каталоге приложения (т.е. там, где вы его запустили). Я не уверен, что произойдет, если у процесса нет для этого необходимых прав. Вероятно, написать дамп молча не получится.

1
ответ дан 15 December 2019 в 06:23
поделиться

вы уверены, что ANT - это процесс с OOME? Это может быть процесс, запущенный ANT.

Добавьте «-debug» в ANT_OPTS для получения отладочной информации.

Вы видите, что мишени распечатываются во время казни?

Вы также можете форкнуть различные процессы, запущенные ant (замедлит работу, но может помочь изолировать виновника)

Наконец, возможно, вам просто нужно больше памяти, чем по умолчанию. Добавьте:

-Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=256m

в ANT_OPTS

1
ответ дан 15 December 2019 в 06:23
поделиться

Эмм ... как насчет того, где java.io.tmpdir указывает?

-1
ответ дан 15 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: