Я собираюсь развернуть приложение на реальном сервере, и сейчас я нахожусь в той части, где мне нужно установить размеры кучи и пермен для jvm. Я видел много статей, и все они говорят «установить минимальный размер кучи на (некоторый номер)» и «установить максимальный размер кучи на (некоторое число)», но ни одна из этих статей действительно не говорит, почему должен быть задан минимальный размер кучи. Я понимаю причину установить максимальный размер кучи, но не о минимуме. Я был бы благодарен, если бы вы прояснили это.Нужно ли мне определять размер кучи java минимальный
ответ
Куча в Java - это общая область выделения памяти. Предположим, что мы устанавливаем минимальный размер кучи на 1000 байт (это абсурдно малое число). Теперь скажем, что я создаю экземпляр объекта в моей программе, который содержит текст длиной в две тысячи символов. Я не могу сохранить этот объект без предварительного расширения размера кучи. Теперь, предположительно, мой максимальный параметр кучи достаточно велик, чтобы это можно было сделать, но это причина для установки максимального размера кучи.
Однако предположим, что у моего сервера 4G RAM, и я установил для него минимальный размер кучи. (Абсурдно большое число.) Если никакие другие программы не занимали какую-либо память, это сработает. Однако, если бы я начал второй процесс с помощью моей java-программы, он не смог бы выделить достаточную память и выйти.
Минимальный размер делает две вещи для вас; во-первых, он быстро позволяет оперативной памяти, чтобы обеспечить быстрый запуск. Во-вторых, он позволяет вам настроить ваш jvm, чтобы у вас были некоторые инварианты, позволяющие делать прогнозы о том, сколько процессов вы можете запустить. Если ваш размер минимальной кучи слишком велик, вы, вероятно, тратите память на процесс, который никогда не нуждается в этом, ограничивая емкость вашей системы. Если вы установите слишком маленький, для запуска программы потребуется много времени, что отрицательно скажется на производительности процесса.
Установка минимального размера кучи позволяет Java выделять некоторую память спереди, что улучшает время запуска.
Установка минимального размера в явном виде (выше значения по умолчанию) помогает с фрагментацией распределения на уровне ОС и начальной продолжительностью работы.
Куча Java поддерживается памятью, выделенной ОС, чем больше начальный блок, тем меньше будет перераспределение и фрагментация.
Установка минимального значения, равного или почти равного максимуму, полностью устранит эти ситуации.
- 1. Cassandra минимальный размер кучи
- 2. -Xms: начальный размер кучи или минимальный размер кучи?
- 3. Нужно ли мне определять конструктор по умолчанию в java?
- 4. Зачем вам нужно указать размер кучи Java?
- 5. Размер кучи Java Размер памяти
- 6. Java JVM Размер кучи
- 7. Увеличение Java размер кучи в jGrasp
- 8. Размер кучи Java - будет ли это работать?
- 9. Нужно ли мне определять все классы как модели Magento?
- 10. Нужно ли мне определять сопоставление отображения в моих сущностях?
- 11. Размер файлов дампа кучи java
- 12. увеличить размер кучи java навсегда?
- 13. Java Недопустимый максимальный размер кучи
- 14. Что нужно вернуть как минимальный элемент пустой кучи
- 15. Как исправить размер кучи Java
- 16. Генерация .NET 0 размер кучи
- 17. C# Увеличить размер кучи - Возможно ли это
- 18. Изменить минимальный размер кучи исполнителя в искровой на пряжу
- 19. Вывод оператора Java Java Fail - размер кучи?
- 20. Hibernate - OutOfMemoryError - размер кучи java
- 21. Размер кучи Java и OutofMemory
- 22. Минимальный размер файла .ts
- 23. Нужно ли определять отношения в доступе Ms?
- 24. Как увеличить размер кучи в java?
- 25. пользовательский вид минимальный размер
- 26. Как увеличить максимальный размер кучи Java 6?
- 27. Устройства Android, размер кучи
- 28. Нужно ли сетевому провайдеру сети определять местоположение?
- 29. Нужно ли определять свойство для поля IBOutlet?
- 30. Нужно ли каждый раз определять ng-model?
Хорошо, почему бы вам установить нижний предел на что-нибудь? Потому что ваша программа может потребовать определенной суммы. Я не понимаю вопрос? Вы имеете в виду, что настройка min действительно требуется? – keyser
Возможный дубликат [В чем причина установки минимального размера кучи Java?] (Http://stackoverflow.com/questions/8085949/whats-the-reason-to-set-a-minimal-java-heap-size) – assylias