Прежде всего, у меня есть коробка с 8 ГБ оперативной памяти, поэтому я сомневаюсь, что проблема в общей памяти. Это приложение нормально работает на машинах с объемом памяти 6 ГБ или меньше.
Я пытаюсь зарезервировать 3 ГБ пространства с помощью -Xmx3G в разделе «Аргументы виртуальной машины» в конфигурациях запуска в Eclipse.
Каждый раз, когда я пытаюсь зарезервировать более 1500 МБ, я получаю такую ошибку: «Произошла ошибка при инициализации ВМ; Не удалось зарезервировать достаточно места для кучи объектов »с использованием -Xmx3G
Что здесь происходит?
java
eclipse
jvm
jvm-arguments
user1212731
источник
источник
Ответы:
Может быть, вы используете 32-битную jvm на этой машине?
источник
Вот как это исправить: Перейти к
Start->Control Panel->System->Advanced(tab)->Environment Variables->System
Измените это на свой подходящий путь .
источник
На самом деле это не проблема, связанная с Eclipse; это общая проблема Java-on-Windows. Это из-за того, как JVM распределяет память в Windows; он настаивает на выделении непрерывного фрагмента памяти, который часто Windows не может предоставить, даже если имеется достаточно отдельных фрагментов для удовлетворения запроса на выделение. Существуют утилиты, которые пытаются помочь Windows «дефрагментировать» ее память, что теоретически может помочь в этой ситуации; но я действительно не пробовал их всерьез, поэтому не могу говорить об их эффективности. Одна вещь, которую я иногда слышал, которая может помочь, - это перезагрузить Windows и перед запуском любых других приложений запустить приложение Java, которому требуется большой кусок памяти. Если вам повезет, Windows еще не фрагментировала свое пространство памяти, и Java получит непрерывный блок, который запрашивается.
Где-то в Интернете есть больше технических объяснений и анализов этой проблемы, но у меня нет под рукой ссылок.
Однако я нашел это, что выглядит полезным: https://stackoverflow.com/a/497757/639520
источник
Во-первых, 32-битная JRE не может использовать больше ~ 1,5 ГБ оперативной памяти. Так что, если вы хотите большего, используйте 64-битную JRE.
Во-вторых, когда запускается новая JVM, это суммирует свойство -Xmx всех запущенных JVM и проверяет, достаточно ли памяти в системе для работы с их собственным -Xmx, если этого недостаточно, возникает ошибка.
источник
Я использовал Liferay с сервером Tomcat из eclipse IDE. Я застрял с этой же ошибкой при нажатии на запуск сервера. Дважды щелкните сервер из затмения. откроется страница обзора сервера. Обновлены аргументы памяти с -Xmx1024m -XX: MaxPermSize = 256m до -Xmx512m -XX: MaxPermSize = 256m. Тогда это сработало для меня.
источник
Убедитесь, что Eclipse действительно запускает ту же самую JVM, которая, по вашему мнению, работает. Если вы когда-либо использовали java в своем веб-браузере, вероятно, у вас также есть 32-разрядная версия, которая может иметь приоритет, если она установлена или обновлена в последнее время.
Чтобы быть абсолютно уверенным, я рекомендую добавить эти две строки в свой
eclipse.ini
файл вверху:-vm C:/Java/jdk1.6.0_27/bin
... где на моей машине
C:/Java/jdk1.6.0_27/bin
находится JVM, которую я знаю, 64-разрядная. Обязательно там естьbin
папка.(В качестве бонуса в Windows 7 это также позволяет вам фактически «закрепить вкладку», поэтому мне пришлось сделать это для себя)
источник
eclipse.ini
странице: wiki.eclipse.org/…Это проблема размера кучи. Отредактируйте ваш
.bat
(Пакетный файл). Возможно, он показывает размер кучи 1024. Измените его на 512, тогда он должен работать.источник
У меня также была такая же проблема при использовании Eclipse, который был 32-битным, а JVM, используемая им, была 64-битной. Когда я перенаправил Eclipse на 32-битную JVM, он работал
источник
Просто поместите
#
символ передorg.gradle.jvmargs=-Xmx1536m
в gradle.propertiesисточник
Я знаю, что немного опоздал, но вот мой ответ:
Я только что установил онлайн-версию Java от Oracle (а не автономную 64-битную).
После добавления переменной JAVA_HOME ENV все заработало!
Надеюсь, я смогу помочь :)
источник
Возможно, вы все равно пробуете неправильные варианты. У меня аналогичная ошибка с поддержкой журнала ошибок:
Java HotSpot(TM) Client VM warning: ignoring option PermSize=32M; support was removed in 8.0 Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=128M; support was removed in 8.0
В моем случае программное обеспечение еще не поддерживало java 8 (скрипт использовал старые аргументы JVM), но по умолчанию у меня была java 8.
источник
Одна из причин этой проблемы - нехватка памяти для запуска Tomcat. Попробуйте удалить ненужное запущенное программное обеспечение из окон и перезапустите eclipse и tomcat.
источник