2010-03-09 4 views
5

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

Я получаю «java.lang.OutOfMemoryError: Java heap space», и я исследую это.

Итак, я обнаружил, что мне нужно установить «-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», но там не было дампа.

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

+0

Запуск Java 5 Кстати – Ikky

+0

Походит дополнительные детали необходимо на *, которая * процесс, имеющий проблемы. – Pat

ответ

1

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

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

-1

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

1

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

1

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

Добавить «-debug» в ANT_OPTS для отладки информации.

Вы видите, что цели распечатываются во время выполнения?

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

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

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

к ANT_OPTS

+0

Спасибо за хорошие предложения, но ни один из них не помог. Я также попытался установить fork = "yes" в xml-файле, но это не помогло. – Ikky