OutOfMemory в Eclipse в запущенном процессе - PullRequest
1 голос
/ 24 апреля 2009

У меня есть OutOfMemory (размер кучи) в затмении с использованием стороннего плагина Плагин является рабочим столом Adobe Livecycle, а во время нехватки памяти плагин получает через WS (используя Axis) список из около 70 компонентов рабочего процесса на моем сервере

Вот выдержка из моего стека вызовов в Eclipse

... at org.eclipse.equinox.launcher.Main.main (Main.java:1144)

Причина: java.lang.OutOfMemoryError: пространство кучи Java; вложенными исключение: java.lang.OutOfMemoryError: пространство кучи Java в org.apache.axis.message.SOAPFaultBuilder.createFault ...

Я использую этот eclipse.ini

-showlocation
-vm
C: \ bea920 \ jdk150_04 \ Bin \ javaw.exe
-vmargs
-Xms512M
-Xmx1024M

Я не использую параметры командной строки

Я добавил -Xmx1024m к моей единственной Установленной JRE в Java / Установленные JRE

Мне кажется, что: -eclipse не является самой OutOfMemory он показывает только 300Mo из 1024Mo использованных он продолжает работать правильно - плагин запускает разбор своей оси, не выделяя достаточно памяти

Вопросы: - Верны ли мои предположения? - Как мне найти, где и как выделить больше памяти процессу, запущенному в eclipse launcher?

Ответы [ 6 ]

6 голосов
/ 24 апреля 2009

Изменили ли вы запущенные аргументы виртуальной машины из окна настроек? Попробуйте это:

Window->Preferences
Java->Installed JREs
(select your jre here)->Edit..
Default VM Arguments: -Xmx1024m (or whatever size you like)

Редактировать 1: На основании ваших комментариев я вижу, что вы уже пробовали это. Я предположил, что вы не пытались сделать это, основываясь на части вашего вопроса, которая гласит: «Как найти, где и как выделить больше памяти для процесса, запускаемого средством запуска eclipse?». Я думаю, мы все знаем, что происходит, когда мы предполагаем!

Рассматривали ли вы увеличение памяти до чего-то большего, просто чтобы посмотреть, сможете ли вы ее запустить (и, возможно, получите больше информации о том, что вызывает ее сбой)? Попробуйте -Xmx2048m или больше в зависимости от доступной памяти.

Можете ли вы добавить некоторую информацию к вашему вопросу, которая дает нам представление о том, что делает плагин? Является ли этот проект веб-сервисом? и т.д ..

0 голосов
/ 28 апреля 2009

Я смог найти, где проблема

  • Я использовал Fiddler с Eclipse (используя настройки прокси)
  • Таким образом, я смог определить, что мыльный ответ был OutOfMemory
    soapenv: Fault код ошибки soapenv: Server.generalException faultstring java.lang.OutOfMemoryError: пространство кучи Java; Вложенное исключение: java.lang.OutOfMemoryError : пространство кучи Java
  • Итак, проблема была на сервере

  • У меня теперь другая проблема: сервер строит ответ, который является большим для затмения

Спасибо за ваши ответы

0 голосов
/ 24 апреля 2009

Добавить -XX: MaxPermSize = 256 м

Это еще один тип памяти в Java.

0 голосов
/ 24 апреля 2009

Я рекомендую запустить eclipse с опцией -clean, чтобы очистить все кэши и перечитать ваши настройки.

Кроме того, я успешно переместил eclipse.ini из каталога eclipse (так что eclipse.ini нет), запустил eclipse, вышел, переместил ini-файл обратно и снова запустил. Я не пытался понять, почему это помогло.

0 голосов
/ 24 апреля 2009

Я думаю, вам нужно отредактировать файл eclipse.ini, который находится в тот же каталог, что и ваш файл eclipse exe. Он будет содержать настройки -Xms которые вы можете изменить.

0 голосов
/ 24 апреля 2009

Проверьте, передаете ли вы параметры Xms и Xmx в командной строке, с которой вы запускаете eclipse. Значения там будут переопределять значения в eclipse.ini

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