Вопрос-ответ

Could not reserve enough space for object heap

Не удалось зарезервировать достаточно места для кучи объектов

Я получаю следующее исключение повторно каждый раз, когда пытаюсь запустить программу.


Произошла ошибка при инициализации виртуальной машины


Не удалось зарезервировать достаточно места для кучи объектов


Не удалось создать виртуальную машину Java.


Я пытался увеличить свою виртуальную память (размер страницы) и объем оперативной памяти, но безрезультатно.

Как я могу устранить эту ошибку?

Переведено автоматически
Ответ 1

Запустите JVM с -XX:MaxHeapSize=512m (или любым большим числом, которое вам нужно) (или -Xmx512m для краткости)

Ответ 2

Это также может быть вызвано установкой чего-то слишком большого, например, на 32-разрядной виртуальной машине HotSpot:

-Xms1536m -Xmx1536m

где это могло бы / будет работать:

-Xms1336m -Xmx1336m
Ответ 3

вот как это исправить:


  • Перейдите в меню Пуск-> Панель управления-> Система-> Дополнительно (вкладка)-> Переменные среды-> Система


    Переменные-> Создать: Имя переменной: _JAVA_OPTIONS Значение переменной: -Xmx512M Имя переменной: Path
    Значение переменной: %PATH%;C:\Program Files\Java\jre6\bin;F:\JDK\bin;


Измените это на соответствующий путь.

Ответ 4

Я столкнулся с этим при использовании javac, и, похоже, он не отображается в параметрах командной строки,

-bash-3.2$ javac -Xmx256M HelloWorldApp.java 
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

итак, решение здесь такое - установить _JAVA_OPTIONS

-bash-3.2$ export _JAVA_OPTIONS="-Xmx256M"
-bash-3.2$ javac HelloWorldApp.java
Picked up _JAVA_OPTIONS: -Xmx256M

И это нормально компилируется.

Это случается со мной на машинах с большим объемом оперативной памяти, но с меньшими ограничениями памяти. Java решает выделить большую кучу, потому что обнаруживает объем оперативной памяти на компьютере, но ей не разрешено выделять ее из-за ограничений.

java jvm