Я работаю на сервере Windows 2003 (64-разрядный) с 8 ГБ оперативной памяти. Как увеличить максимум памяти кучи? Я использую флаг -Xmx1500m
, чтобы увеличить размер кучи до 1500 Мб. Могу ли я увеличить память кучи до 75% физической памяти (6 ГБ кучи)?Увеличение размера кучи в Java
ответ
Вы можете увеличить до 4 ГБ на 32-битной системе. Если вы используете 64-битную систему, вы можете пойти выше. Не нужно беспокоиться, если вы выбрали неверно, если вы попросите 5g на 32-битной системе, java будет жаловаться на недопустимое значение и выйти.
Как и другие опубликованные, используйте флаги cmd-line - например.
java -Xmx6g myprogram
Вы можете получить полный список (или почти полный список в любом случае), набрав java -X.
Насколько я понял, фактический размер кучи Java будет приниматься с использованием 32b VM (в системе 32b или 64b - здесь важная часть VM) составляет около 2G. Кроме того, удивленный Аскер не первым искать и находить: http://stackoverflow.com/questions/1596009/java-lang-outofmemoryerror-java-heap-space и: http://stackoverflow.com/ вопросы/37335/how-to-deal-with-java-lang-outofmemoryerror-java-heap-space-error-64mb-heap-s – wsorenson
ах, вы правы, конечно - на 32-битной системе вы можете обращаться только 2 Гб памяти. –
Нужно ли для максимальной кучи и минимального размера кучи быть одинаковым? – user1747935
Могу ли я увеличить память кучи до 75% физической памяти (куча 6 ГБ).
Да, вы можете. На самом деле, если вы хотите, вы можете увеличить объем физической памяти.
Будет ли это хорошей идеей, это зависит от того, сколько еще работает в вашей системе. В частности, если «рабочий набор» приложений и служб, которые в настоящее время работают, значительно превышает доступную физическую память, ваша система может «трэш», проводя много времени, перемещая страницы виртуальной памяти на диск и с диска. Чистый эффект заключается в том, что система становится очень медленной.
На 32-битной JVM наибольший размер кучи, который вы теоретически можете установить, составляет 4 ГБ. Чтобы использовать большой размер кучи, вам нужно использовать 64-битную JVM. Попробуйте следующее:
ява -Xmx6144M -d64
-d64 флаг важно, так как это говорит JVM для работы в 64-битном режиме.
Можно увеличить размер кучи, выделяемую JVM с помощью опции из командной строки, здесь мы имеем 3 варианта
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
java -Xms16m -Xmx64m ClassName
В строке выше мы можем установить минимальную кучу, чтобы 16mb и максимальная кучного 64mb
можно увеличить размер кучи, выделенный в JVM затмений непосредственно в Eclipse IDE Goto
Run ----> Run ---- Конфигурация> Аргументы
Введите -Xmx1g (Он используется, чтобы установить максимальный размер, как Xmx256m или Xmx1g ...... м -> Мб г ---> GB)
Просто чтобы добавить это, должен быть аргумент VM (eclipse дает вам два варианта). –
Java -d64 -Xms512m -Xmx4g HelloWorld
где -d64: позволит 64-разрядную JVM -Xms512m: Будет ли установить начальный размер кучи в 512 МБ -Xmx4g: Будет установлен максимальный размер кучи, как 4 Гб (здесь имя Java файл: HelloWorld.java)
Это работает только с 64-разрядной версией Java. Перейдите в Панель управления и щелкните значок Java.В маленьком окне панели управления Java нажмите на панель меню Java, а затем нажмите кнопку view
.
Если у вас есть два Java-платформы, отключить предыдущую версию Java, а затем нажмите на время выполнения параметров текстового поля и записи -Xmx1024m
или меньше, чем размер оперативной памяти. Не увеличивайте размер кучи, равный ОЗУ, иначе ваша система выйдет из строя.
голос? за этот ответ ?? – madhairsilence
Пожалуйста, используйте следующую команду, чтобы изменить размер кучи до 6GB
export JAVA_OPTS="-Xms6144m -Xmx6144m -XX:NewSize=256m -XX:MaxNewSize=356m -XX:PermSize=256m -XX:MaxPermSize=356m"
Если у меня есть 8G-память в моей системе, и я вижу из диспетчера задач, что 70% этого используется; возможно ли выделить память 6G в размер кучи java? –
Да. Ты можешь.
Вы можете увеличить свою память кучи до 75% физической памяти (6 ГБ кучи) или выше.
Поскольку вы используете 64 бит, вы можете увеличить размер кучи до нужной вам суммы. В случае, если вы используете 32bit, он ограничен 4 ГБ.
$ java -Xms512m -Xmx6144m JavaApplication
Наборы вы с начальным размером кучи в 512MB и максимальное heapsize к 6GB.
Надеется, что это помогает .. :)
Это кажется очень похожим на два опроса, проголосовавших за несколько лет назад. – Dukeling
Несколько людям указали конкретные ответы на размере кучи с вариантами Jvm из -Xms
и -Xms
. Я хочу указать, что это не единственный тип параметров памяти для jvm. В частности, если вы получаете стеки через потоки, тогда вы захотите увеличить размер стека, добавив дополнительный параметр, например -Xss8m
.
Для этой проблемы варианты jvm примерно -Xms2g -Xmx6g -Xss8m
будут решением.
Я делюсь этой информацией, так как мои поисковые запросы в Google о том, как увеличить объем памяти jvm, привели меня к этому решению, и решения не работали с большим объемом выделения памяти. Как только я выяснил, для каких конкретных настроек, мне удалось Google, как увеличить размер стека и найти недостающий параметр. :) Надеюсь, это спасет время других, так как это спасло бы мне массу времени. :)
Вы можете увеличить размер кучи, передавая параметры JVM -Xms и -Xmx, как показано ниже:
для JAR-файлов:
java -jar -Xms4096M -Xmx6144M jarFilePath.jar
Для файлов Java:
java -Xms4096M -Xmx6144M ClassName
Приведенные выше параметры увеличивают InitialHeapSize (-Xms) до 4 ГБ (4096 МБ) и MaxHeapSize (-Xmx) до 6 ГБ (6144 МБ).
Но, то молодое поколение Размер кучи будет оставаться таким же и дополнительные HeapSize будут добавлены к старого поколения Размер кучи. До сравните размеры куклы Young Gen и кучи старого поколения, используйте -XX: NewRatio = 1 -XX: -UseAdaptiveSizePolicy params.
java -jar -Xms4096M -Xmx6144M -XX:NewRatio=1 -XX:-UseAdaptiveSizePolicy pathToJarFile.jar
-XX: NewRatio = Старый Gen Heap Size: Young Gen HeapSize (Вы можете играть с этим отношением, чтобы получить нужное соотношение).
- 1. Увеличение размера кучи Java
- 2. Увеличение размера кучи java вообще
- 3. увеличение размера кучи java темп
- 4. Увеличение размера кучи
- 5. Увеличение размера кучи в JVM
- 6. Увеличение размера кучи Java на виртуальном сервере?
- 7. Увеличение размера кучи в системе Linux
- 8. Увеличение размера кучи на машинах Linux
- 9. Java: Увеличение размера кучи в Windows, не вступает в силу
- 10. Увеличение размера кучи Java в Spark on Yarn
- 11. Увеличение размера кучи Java в Eclipse - с использованием виртуальной памяти
- 12. Увеличение размера кучи в java-программе дает проблему
- 13. Увеличение размера кучи Java для класса внутри jar
- 14. Увеличение размера кучи на Eclipse-RAD
- 15. Исключение размера кучи Java
- 16. Уменьшение размера кучи Java
- 17. Уменьшение размера кучи Java
- 18. Изменение размера кучи java
- 19. Увеличение Java размер кучи в jGrasp
- 20. Увеличение Java пространство кучи в Linux
- 21. Увеличение памяти кучи в Eclipse Java
- 22. Увеличение максимального размера кучи JVM для приложений с интенсивной памятью
- 23. Как обрабатывать исключение OOME, если увеличение размера кучи не работает?
- 24. Увеличение размера кучи JVM без эффекта - обзор определенных опций
- 25. из памяти размера Java кучи
- 26. Увеличение размера кучи в Kepler Eclipse более 4 ГБ
- 27. Ошибка памяти в андроиде из-за размера кучи Увеличение
- 28. Увеличение размера кучи для JRuby с помощью jruby_opts
- 29. Увеличение размера списка динамически java
- 30. java-библиотека для отслеживания размера кучи java?
Предполагаю, вы пытались увеличить кучу, но не смогли? Вы используете 64-битную JVM? –
Вы пробовали '-Xmx6g'? Это не работает? Что вы наблюдали? –
Спасибо за комментарий, но это не работает – Sunil