Увеличение размера "кучи" максимума JVM для интенсивно использующих память приложений

Я должен выполнить Java интенсивно использующее память приложение, которое использует больше чем 2 ГБ, но у меня есть проблемы для увеличения размера максимума "кучи". До сих пор я попробовал следующие подходы:

  • Установка-Xmx параметра, например,-Xmx3000m. Это приближается к сбоям при создании JVM. Из того, что я погуглил, похоже, что-Xmx должен составить меньше чем 2 ГБ.

  • Используя-XX: + опция AggressiveHeap. Когда я пробую этот подход, я получаю 'Недостаточно памяти' ошибка, которая говорит, что размер "кучи" составляет 1 273,4 МБ, даже при том, что мой компьютер имеет 8 ГБ памяти.

Есть ли другой подход, что я могу попытаться увеличить максимальный размер "кучи" JVM? Вот сводка компьютерных спецификаций:

  • ОС: Windows 7 (64 бита)
  • Процессор: Intel Core i7 (2,66 ГГц)
  • Память: 8 ГБ
  • Java - версия:
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing)

84
задан Alceu Costa 12 June 2010 в 22:14
поделиться

3 ответа

Получите 64-битную JVM от Oracle .

46
ответ дан 24 November 2019 в 08:34
поделиться

Я считаю, что ограничение в 2 ГБ предназначено для 32-разрядной версии Java. Я думал, что v1.6 всегда был 64-битным, но попробуйте принудительно включить 64-битный режим, чтобы увидеть: добавьте параметр -d64.

14
ответ дан 24 November 2019 в 08:34
поделиться

Когда вы используете JVM в 32-битном режиме, максимальный размер кучи, которая может быть выделена, составляет 1280 МБ. Поэтому, если вы хотите выйти за эти пределы, вам нужно вызвать JVM в 64-режиме.

Вы можете использовать следующее:

$ java -d64 -Xms512m -Xmx4g HelloWorld

где,

  • -d64: Включит 64-битную JVM
  • -Xms512m: Установит начальный размер кучи 512 МБ
  • -Xmx4g: Установит максимальный размер кучи в 4 ГБ

Вы можете настроить -Xms и -Xmx в соответствии с вашими требованиями (YMMV)

Очень хороший ресурс по настройке производительности JVM, на который стоит обратить внимание: http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html

93
ответ дан 24 November 2019 в 08:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: