Ошибка нехватки памяти в Java - PullRequest
2 голосов
/ 18 февраля 2010

Я выполняю очень длинный процесс с помощью скрипта Ant, я разрешил следующую кучу, но она все равно выдает ошибку.

set ANT_OPTS=-Xms1024M -Xmx2024M -XX:MaxPermSize=512M

Ответы [ 3 ]

1 голос
/ 18 февраля 2010

Мне кажется странным, что вы используете больше 2G для сборки (хотя это вполне возможно), поэтому я задам несколько глупых вопросов, чтобы помочь вам подумать над своей проблемой:

  • Вы действительно уверены, что ANT_OPTS установлен правильно?
  • Запускаете ли вы скрипт из командной строки или из IDE?
  • Какую ОС вы используете?
  • Сколько физической памяти у вас в коробке?
  • Используете ли вы какой-либо плагин или инструмент, запускаемый сборкой?
  • Запускаете ли вы тестирование во время сборки? Вы разветвляетесь во время испытаний?
0 голосов
/ 18 февраля 2010

Вы также можете включить ведение журнала сбора мусора (подробности здесь ) и посмотреть, почему ваш Heapspace так сильно увеличивается. Это может быть утечка памяти. Конечно, JProfiler также позволит вам сделать то же самое. Eclipse 3.4 и выше имеет встроенный профилировщик, который вы можете подключить к JVM, где работает ваша программа, если вы не хотите использовать JProfiler.

0 голосов
/ 18 февраля 2010

Это означает, что ваш код действительно пытается использовать более 2 ГБ памяти.Используйте jprofiler, yourkit или встроенные инструменты JVM, чтобы узнать, что он делает, и сократить использование памяти.

Далее, если на 32-битной машине вы не можете получить полную версию.2G.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...