Проблема распределения памяти Eclipse
Вопрос
Я пытаюсь проанализировать свалку кучи ~ 800 МБ, что требует большую кучу, чем стандарт для моего затмения. Однако, когда я перехожу в файл Eclipse.ini и установить -Xmx2g
(или -Xmx2048m
) Я получаю ошибку «Не удалось создать виртуальную машину Java».
1) Да, у меня достаточно памяти. 2) Я могу изменить его до -xmx976m. 3) Я попробовал автономный анализатор матов, и он работает с -xMX1024M, а не в байте. 4) Нет, 1 ГБ недостаточно, чтобы проанализировать, что куча, я получаю OOM
Это ошибка Eclipse:
Это ошибка мата:
(Я считаю, что они одинаковы, это просто так, что вы можете увидеть пример с Матем)
Мой нынешний Eclipse.ini (работает):
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx384m
Кто-нибудь выявляет это?
Спасибо!
е.
Решение 4
Я создал поддельное приложение для тестирования JVM-параметров, а то, что я нашел, заключается в том, что JVM не кажется, что поменяют в Windows, по крайней мере, не образуют запуск. У меня 4 ГБ оперативной памяти, но это только позволяет мне выделить оставшееся свободное пространство. Странные, как это работает разные для разных APPPS: мое поддельное приложение позволило моему подняться до XMX1380M, пока Eclipse пошел до XMX1024M.
Ошибка идет как:
$ java -jar -Xmx1500m "C:\fakeapp.jar"
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
То же самое, но -xmx1380g и приложение прошло нормально.
Никогда не имела эту проблему в Unix, куча начнет с того, что вы говорите, даже если он пойдет прямо для свопа.
Для всех с этой проблемой в Windows: первая проверка Ctrl + Shift + Esc -> Performance -> PhysyCal Memory; и установить вам xmx только примерно того же значения, что показано в «Доступном».
Было бы здорово, если бы кто-то мог сказать, как предотвратить проверку JVM, если у вас действительно достаточно бесплатной памяти перед запуском. 1.5G Я использую, работал, работая, как я обрабатываю кучу свалка всего 800 МБ, но если бы это было немного больше, у меня нет, где бежать ...
ваше здоровье,
е.
Другие советы
Эта проблема, которую вы видите, на Windows я предполагаю?
Я была такая же проблема. Прочитав вашу проблему, я снова выпал. Я только что нашел решение моего вопроса. Если это то же самое, попробуйте это. В вашем файле Eclipse или Meamyanalyzer удалите параметр - from thimx. Мой файл ini тогда становится
-vmargs
Xmx1536m
И теперь работает как шарм с большей памятью. Благодаря комментарию Alex2308 в этой теме http://troyworks.com/blog/2008/06/08/eclipse-jvm-termined-exit-code-1/Comment-page-1/#Comment-80.
Мое предыдущее решение было получение Linux Live Disc. Boot до Linux, а затем я смог выделить 2G в коврике без выпуска. (Убедитесь, что вы получаете Mat для Linux)
Не самая лучшая работа, но я никогда не сможешь находить свои чувства на форумах Mat, указывающих на ошибку.
Похоже, вы находитесь на 32-битной VM. Java VM пытается зарезервировать все это пространство памяти в одном блоке, что означает, что в зависимости от того, что находятся в зависимости от того, что ваша системная DLL находится, возможно, не сможет получить эту память. Переключение на 64-битную виртуальную машину (которое, очевидно, требует 64-разрядного CPU & OS), следует это исправить.
Вы изменяете настройку среды Runtime Java в панели управления Java? Добавляя параметр выполнения, например --xMX3072M в столбце параметра выполнения.
Может быть, вы можете проверить детали здесь ..
Надеюсь, это поможет решить вашу проблему ..