Дополнительно
Что такое параметры -Xms и -Xmx при запуске JVM?
Объясните, пожалуйста, использование параметров Xms
и Xmx
в JVM. Каковы их значения по умолчанию?
905
5
Флаг
Xmx
определяет максимальный пул выделения памяти для виртуальной машины Java (JVM), аXms
- начальный пул выделения памяти.Это означает, что ваша JVM будет запущена с
Xms
объемом памяти и сможет использовать максимумXmx
объема памяти. Например, запуск JVM, как показано ниже, запустит ее с 256 MB памяти и позволит процессу использовать до 2048 MB памяти:Флаг памяти также может быть указан в различных размерах, таких как килобайты, мегабайты и так далее.
Флаг
Xms
не имеет значения по умолчанию, аXmx
обычно имеет значение по умолчанию 256 MB. Обычно эти флаги используются, когда вы сталкиваетесь с ошибкойjava.lang.OutOfMemoryError
.При использовании этих настроек следует помнить, что эти настройки относятся к куче JVM, и что JVM может/будет использовать больше памяти, чем просто размер, выделенный для кучи. Из документации Oracle's documentation:
Выполните команду
java -X
и вы получите список всех-X
опций:Опции -X являются нестандартными и могут быть изменены без уведомления..
Надеюсь, это поможет вам понять
Xms
,Xmx
, а также многие другие важные вещи :)Вы можете указать это в вашей IDE. Например, для Eclipse в запуск конфигурации → аргументы ВМ. Вы можете ввести
-Xmx800m -Xms500m
какСам вопрос уже был рассмотрен выше. Просто добавляю часть значений по умолчанию.
В соответствии с http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html
Значение Xmx по умолчанию зависит от платформы и объема памяти, доступной в системе.
Памяти JVM состоит из следующих сегментов:
В JVM есть куча, которая является областью во время выполнения данные, из которых память для всех экземпляров классов и массивов выделяются. Она создается внутри JVM пуска.
Размер кучи может быть настроен со следующими параметрами виртуальной машины:
По умолчанию, максимальный размер кучи равен 64 МБ.
Памяти "кучи" для объектов исправляется автоматической системой управления памятью, которая известна как сборщик мусора. Кучи может иметь фиксированный размер или может быть расширена и уменьшена, в зависимости от сборщика мусора'стратегия.
Следующую команду запустить JVM с 256 Мб памяти, и позволяет Java-процесса использовать до 4G (4096МБ) памяти.