Как увеличить объем памяти для JVM за пределы 1 ГБ

Когда я пытаюсь установить -Xms а также -Xmx значения более 1 ГБ, я получаю сообщение об ошибке:

Произошла ошибка при инициализации ВМ

Мой компьютер имеет 8 ГБ оперативной памяти.

Мне нужно держать и манипулировать огромным количеством данных в памяти.

4 ответа

Решение

Максимальный размер кучи 32-битной JVM может составлять не более 4 ГБ - в некоторых системах он меньше из-за различных технических причин (таких как необходимость в непрерывной памяти). Попробуйте использовать 64-битную версию, если вы работаете на 64-битной машине.

Причина этого заключается в том, что максимальное количество адресов, на которые вы можете указать 32-битные биты, равно 2^32, что составляет 4 ГБ. Этот теоретический максимум никогда не будет доступен пользователю, так как он необходим JVM для Klass файлы (внутреннее представление вашего кода) и другие вещи.

Также посмотрите этот вопрос.

Если вы используете 64-разрядную операционную систему, тогда реальное решение - добавить -d64, чтобы заставить его работать в 64-разрядном режиме и, следовательно, выделить 4 ГБ.

ИМХО это примерно такая же проблема с небольшим отличием в вопросе..

Проблема выделения памяти в Eclipse

Как вы можете видеть, среда выполнения Java установлена ​​в панели управления Java. Попробуйте добавить параметр времени выполнения, например -Xmx3072m в столбце Runtime Parameter.

Или, возможно, вы могли бы проверить эту статью...

Как увеличить память Java в Windows 7

Надеюсь, это поможет решить проблему...

С уважением, Иван

Я бы определенно предложил вам пройти через статью

http://javarevisited.blogspot.in/2013/04/what-is-maximum-heap-size-for-32-bit-64-JVM-Java-memory.html

Помимо Ram, параметры xmx также зависят от таких параметров, как os,jvm bit и т. Д.

Также предложил бы вам иметь статистику, чтобы определить, сколько свободной памяти там. См. Http://viralpatel.net/blogs/getting-jvm-heap-size-used-memory-total-memory-using-java-runtime/, чтобы определить количество используемой памяти и свободной памяти.

Чтобы иметь лучшее использование, оно должно быть как то есть 64-битной ОС и 64-битной VM

В 32-разрядных выпусках Windows приложениям доступно 4 гигабайта (ГБ) виртуального адресного пространства. Виртуальное адресное пространство разделено таким образом, что приложению доступны 2 ГБ, а остальные 2 ГБ - только системе. См. http://msdn.microsoft.com/en-us/library/Aa366521

поэтому убедитесь, что у вас достаточно памяти (что бы вы ни упоминали в отношении параметров xms и xmx) с программой, о которой я упоминал выше

Другие вопросы по тегам