Java Не удалось зарезервировать достаточно места для ошибки кучи объектов
У меня Java7 работает на 32-битной Windows и 4 ГБ оперативной памяти, но:
java -Xmx4G -Xms4G -jar Minecraft.jar
java -Xmx3G -Xms3G -jar Minecraft.jar
java -Xmx2G -Xms2G -jar Minecraft.jar
... все еще не работает. Ошибка:
Произошла ошибка при инициализации ВМ
Не удалось зарезервировать достаточно места для кучи объектов
Ошибка: не удалось создать виртуальную машину Java.
Ошибка: произошло фатальное исключение. Программа будет закрыта.
java -Xmx1G -Xms1G -jar Minecraft.jar
работает. Зачем?
9 ответов
Идти к Start
→ Control Panel
→ System
→ Advanced system settings
→ advanced(tab)
→ Environment Variables
→ System Variables
→ New
:
Variable name: _JAVA_OPTIONS
Variable value: -Xmx512M
Если вы перейдете по этой ссылке IBM на java, то это говорит о том, что в 32-битных окнах рекомендуемый размер кучи составляет 1,5 ГБ, а максимальный размер кучи - 1,8 ГБ. Таким образом, ваш JVM не инициализируется для -Xmx2G
и выше.
Также, если вы перейдете к этому SO-ответу, очевидно, что привязки DLL являются проблемой для изменения резервирования памяти, что не является тривиальной задачей. Следовательно, что может быть рекомендовано, так это перейти на 64-битную Windows и 64-битную JVM. в то время как он будет расходовать больше оперативной памяти, у вас будет гораздо больше непрерывного виртуального адресного пространства.
Это произошло для меня, и это так легко исправить.
- Вы должны убедиться, что у вас есть правильный Java для вашей системы, такой как 32-битная или 64-битная.
если вы установили правильное программное обеспечение, и это все еще происходит, чем перейти
control panel
→system
→advanced system settings
для Windows 8 илиcontrol panel
→system and security
→system
→advanced system settings
для Windows 10.- Вы должны перейти на {расширенную вкладку} и затем нажать {Переменные среды}.
- вы нажмете {New} под
<system variables>
- вы создадите новую переменную. Имя переменной:
_JAVA_OPTIONS
Значение переменной:-Xmx512M
По крайней мере, это то, что сработало для меня.
У меня была эта проблема. Я решил это с загрузкой 64x Java. Вот ссылка: http://javadl.sun.com/webapps/download/AutoDL?BundleId=87443
Чтобы убедиться, что он работает на 64-битной версии Java, сделайте так:
"c: \ Program Files \ Java \ jre7 \ bin \ java.exe" -Xmx1536M -Xms1536M -XX: MaxPermSize = 256M -jar forge-1.6.4-9.11.1.965-universal.jar
взгляните на версию jre, которую вы установили на всякий случай.. x64 должна быть в программных файлах, а x32 находится в Program Files (x86)
4 ГБ ОЗУ не означает, что вы можете использовать все это для процесса Java. Для работы системных процессов требуется много оперативной памяти. Не превышайте 2 ГБ, иначе это будет проблемой.
Перед запуском jvm просто проверьте, сколько ОЗУ доступно, а затем установите соответствующую память.
Дважды щелкните Liferay CE Server -> добавить -XX:MaxHeapSize=512m в Аргументы памяти -> Запустить сервер! Наслаждаться...
Это работа для меня!
Это то, что работало для меня (да, у меня была та же проблема), это говорит что-то вроде java -Xmx3G -Xms3G
положил java -Xmx1024M
так что run.bat должен выглядеть java -Xmx1024M -jar craftbukkit.jar -o false
PAUSE
Это старая тема. Но те, кто использует стек, такой как Bitnami WildFly 13, должны знать, что установка стека имеет собственный механизм Java в\Bitnami\wildfly-13.0.0-1\java
. В Windows установка использует собственный движок стека Java для конфигураций по умолчанию и запускает Java с параметром -client, а не -server, даже если в системе установлены другие движки Java. Вам нужно изменитьstandalone.conf.bat
чтобы явно указать путь к Java и добавить параметр -server вместе с желаемым распределением памяти. Пример:
set "JAVA_HOME=C:\Program Files\Java\jdk1.8.0_311”
set "JAVA_OPTS=-server -Xms2048M -Xmx4096M"
:JAVA_OPTS_SET
rem set "JAVA_HOME=C:\opt\jdk1.6.0_23\bin\java"
Надеюсь, это поможет.