Пожалуйста, объясните использование параметров Xms и Xmx в JVM. Каковы значения по умолчанию для них?

Pankaj 08 фев. 2013, в 00:08
Поделиться

при использовании -Xmx128m -Xms64m он может -Xmx128m -Xms64m пика около 275m RES-памяти, но при использовании -Xmx128m -Xms128m он может -Xmx128m -Xms128m около 550m RES-памяти Использование Java 8 Лучше всего подчеркнуть ГХ и посмотреть, что происходит .

Christophe Roussy 20 фев. 2018, в 16:03
Поделиться:
memory-management
parameters

4 ответа

Лучший ответ

Флаг Xmx указывает максимальный пул выделения памяти для виртуальной машины Java (JVM), а Xms указывает начальный пул выделения памяти.

Это означает, что ваша JVM будет запущена с объемом памяти Xms и сможет использовать максимальный объем памяти Xmx . Например, запуск JVM, как показано ниже, запустит его с 256 МБ памяти и позволит процессу использовать до 2048 МБ памяти:

java -Xms256m -Xmx2048m

Флаг памяти также может быть указан в нескольких размерах, например, в килобайтах, мегабайтах и т.д.

Секс майнкрафт


-Xmx1024k -Xmx512m -Xmx8g

Флаг Xms не имеет значения по умолчанию, а значение Xmx обычно составляет 256 МБ. Обычно эти флаги используются, когда вы сталкиваетесь с java.lang.OutOfMemoryError .

При использовании этих настроек имейте в виду, что эти настройки предназначены для кучи JVM и что JVM может/будет использовать больше памяти, чем просто размер, выделенный для кучи. Из документации Oracle:

Обратите внимание, что JVM использует больше памяти, чем просто кучу. Например, методы Java, стеки потоков и собственные дескрипторы размещаются в памяти отдельно от кучи, а также внутренних структур данных JVM.

hexacyanide 08 фев. 2013, в 00:33
Поделиться
То есть, когда использование памяти превышает Xmx, мы получаем исключение jvm из памяти.
Pankaj 07 фев.

2013, в 23:41

Да, это правильно. Когда он пытается превысить это, хотя он может собирать мусор, пытаясь освободить достаточно памяти. Если памяти по-прежнему недостаточно для удовлетворения запроса, и куча уже достигла максимального размера, произойдет OutOfMemoryError .

David Conrad 10 окт. 2013, в 17:38

Когда я использую инфраструктуру ForkJoin, мой компьютер дает сбой, потому что он занимает слишком много памяти. Возможно ли, что в OpenJDK нет жесткого ограничения памяти по умолчанию?

Christophe De Troyer 26 май 2014, в 13:33

Как пояснено в разделе «java -Xmx 1G» означает 1 ГБ или 2 ^ 30 B? однозначный способ выразить, сколько памяти вы начинаете с помощью -Xms256m равно «256 МБ», а не «256 МБ», так как он использует двоичные числа вместо десяти. См. En.wikipedia.org/wiki/Binary_prefix . Кроме того, поскольку для дополнительного пула пространства Survivor выделено некоторое неиспользуемое пространство, объем памяти, фактически доступный в соответствии с Runtime.getRuntime().maxMemory() , меньше значения, указанного через -Xmx.

nealmcb 30 сен. 2015, в 05:20

Полезное руководство по распространенным ошибкам, связанным с размером кучи: blog.paulgu.com/java/6-common-errors-in-setting-java-heap-size

Unicorn steps on Fairy! Wear a Helmet!, The Pony Show, Gypsy Vanner horses

ctrlplusb 15 дек. 2015, в 15:32
-Xmx8g что означает g?
Arun Bertil 13 июнь 2016, в 11:54

«Xmx обычно имеет значение по умолчанию 256 МБ» — очень маловероятно, что это приведет к сбою большинства приложений — см. Stackoverflow.com/questions/4667483/…

Читайте также:  Как получить мох в Майнкрафт

Jack 10 апр. 2017, в 08:10

Почему я устанавливаю xmx = xms = 8g, мой Java-процесс не потребляет 8g, а намного меньше памяти при запуске, что я наблюдаю сверху -> RES. Не должно ли оно быть выделено хотя бы памятью xms?

Jaskey 17 окт. 2017, в 03:47
Robert 27 окт. 2017, в 10:46
Показать ещё 7 комментариев

Запустите команду java -X и вы получите список всех -X :

C:UsersAdmin>java -X -Xmixed mixed mode execution (default) -Xint interpreted mode execution only -Xbootclasspath: set search path for bootstrap classes and resources -Xbootclasspath/a: append to end of bootstrap class path -Xbootclasspath/p: prepend in front of bootstrap class path -Xdiag show additional diagnostic messages -Xnoclassgc disable class garbage collection -Xincgc enable incremental garbage collection -Xloggc: log GC status to a file with time stamps -Xbatch disable background compilation -Xms set initial Java heap size. -Xmx set maximum Java heap size. -Xss set java thread stack size -Xprof output cpu profiling data -Xfuture enable strictest checks, anticipating future default -Xrs reduce use of OS signals by Java/VM (see documentation) -Xcheck:jni perform additional checks for JNI functions -Xshare:off do not attempt to use shared class data -Xshare:auto use shared class data if possible (default) -Xshare:on require using shared class data, otherwise fail. -XshowSettings show all settings and continue -XshowSettings:all show all settings and continue -XshowSettings:vm show all vm related settings and continue -XshowSettings:properties show all property settings and continue -XshowSettings:locale show all locale related settings and continue

Опции -X нестандартны и могут быть изменены без предварительного уведомления.

Я надеюсь, что это поможет вам понять Xms, Xmx, а также многие другие важные вещи. 🙂

Источник: overcoder.net

Что такое параметры -Xms и -Xmx при запуске JVM?

Объясните, пожалуйста, использование параметров Xms и Xmx в JVM. Каковы их значения по умолчанию?

905 2013-02-07T23:28:20+00:00 5
Редактировал вопрос 23-го марта 2019 в 6:48
Комментарии к вопросу (1)
Решение / Ответ
hexacyanide
7-го февраля 2013 в 11:29
2013-02-07T23:29:31+00:00

Дополнительно

Флаг Xmx определяет максимальный пул выделения памяти для виртуальной машины Java (JVM), а Xms — начальный пул выделения памяти.

Это означает, что ваша JVM будет запущена с Xms объемом памяти и сможет использовать максимум Xmx объема памяти. Например, запуск JVM, как показано ниже, запустит ее с 256 MB памяти и позволит процессу использовать до 2048 MB памяти:

java -Xms256m -Xmx2048m

Флаг памяти также может быть указан в различных размерах, таких как килобайты, мегабайты и так далее.

-Xmx1024k -Xmx512m -Xmx8g

Флаг Xms не имеет значения по умолчанию, а Xmx обычно имеет значение по умолчанию 256 MB. Обычно эти флаги используются, когда вы сталкиваетесь с ошибкой java.lang.OutOfMemoryError .

При использовании этих настроек следует помнить, что эти настройки относятся к куче JVM, и что JVM может/будет использовать больше памяти, чем просто размер, выделенный для кучи. Из документации Oracle’s documentation:

Читайте также:  Код ошибки терракота в Майнкрафт на телефоне

Обратите внимание, что JVM использует больше памяти, чем просто куча. Например, методы Java, стеки потоков и собственные дескрипторы выделяются в памяти отдельно от кучи, также как и внутренние структуры данных JVM.

Редактировал ответ 23-го марта 2019 в 6:49
Комментарии к ответу ( 9 )
Rupesh Yadav
Ответ на вопрос
28-го ноября 2013 в 11:03
2013-11-28T11:03:24+00:00

Дополнительно

Выполните команду java -X и вы получите список всех -X опций:

C:UsersAdmin>java -X -Xmixed mixed mode execution (default) -Xint interpreted mode execution only -Xbootclasspath: set search path for bootstrap classes and resources -Xbootclasspath/a: append to end of bootstrap class path -Xbootclasspath/p: prepend in front of bootstrap class path -Xdiag show additional diagnostic messages -Xnoclassgc disable class garbage collection -Xincgc enable incremental garbage collection -Xloggc: log GC status to a file with time stamps -Xbatch disable background compilation -Xms set initial Java heap size. -Xmx set maximum Java heap size. -Xss set java thread stack size -Xprof output cpu profiling data -Xfuture enable strictest checks, anticipating future default -Xrs reduce use of OS signals by Java/VM (see documentation) -Xcheck:jni perform additional checks for JNI functions -Xshare:off do not attempt to use shared class data -Xshare:auto use shared class data if possible (default) -Xshare:on require using shared class data, otherwise fail. -XshowSettings show all settings and continue -XshowSettings:all show all settings and continue -XshowSettings:vm show all vm related settings and continue -XshowSettings:properties show all property settings and continue -XshowSettings:locale show all locale related settings and continue

Опции -X являются нестандартными и могут быть изменены без уведомления..

Надеюсь, это поможет вам понять Xms , Xmx , а также многие другие важные вещи 🙂

Источник: kzen.dev

Каковы параметры -Xms и -Xmx при запуске JVM?

Пожалуйста, объясните использование Xms и Xmx параметры в JVM. Каковы значения по умолчанию для них?

при использовании -Xmx128m -Xms64m он может достигать максимума вокруг 275m RES mem, но при использовании -Xmx128m -Xms128m он может достигать максимума вокруг 550m RES mem Использование Java 8 Лучше всего подчеркнуть GC и посмотреть, что происходит .

Флаг Xmx указывает максимальный пул выделения памяти для виртуальной машины Java (JVM), а также Xms указывает начальный пул выделения памяти.

Это означает, что ваша JVM будет запущена с Xms объемом памяти и сможет использовать максимум Xmx объема памяти. Например, запуск JVM, как показано ниже, запустит его с 256 МБ памяти и позволит процессу использовать до 2048 МБ памяти:

java -Xms256m -Xmx2048m

Флаг памяти также может быть указан в разных размерах, например, в килобайтах, мегабайтах и ​​т. Д.

-Xmx1024k -Xmx512m -Xmx8g

Xms Флаг не имеет значения по умолчанию, и Xmx обычно имеет значение по умолчанию 256 МБ. Обычно эти флаги используются, когда вы сталкиваетесь с java.lang.OutOfMemoryError .

При использовании этих настроек имейте в виду, что эти настройки предназначены для кучи JVM и что JVM может / будет использовать больше памяти, чем просто размер, выделенный для кучи. Из документации Oracle :

Обратите внимание, что JVM использует больше памяти, чем просто кучу. Например, методы Java, стеки потоков и собственные дескрипторы размещаются в памяти отдельно от кучи, а также внутренних структур данных JVM.

То есть, когда использование памяти превышает Xmx, мы получаем jvm из исключения памяти.

Читайте также:  В Майнкрафте мир черный

Да, это правильно. Когда он пытается превысить это, хотя он может собирать мусор, пытаясь освободить достаточно памяти. Если памяти по-прежнему недостаточно для удовлетворения запроса, и куча уже достигла максимального размера, OutOfMemoryError произойдет an .

Когда я использую инфраструктуру ForkJoin, мой компьютер дает сбой, потому что он занимает слишком много памяти. Возможно ли, что в OpenJDK нет жесткого ограничения памяти по умолчанию?

Как разъяснено в разделе «java -Xmx 1G» означает 1 ГБ или 2 ^ 30 B? однозначный способ выразить, сколько памяти вы начинаете через -Xms256m «256 МБ», а не «256 МБ», так как он использует двоичные числа, а не десять. См. En.wikipedia.org/wiki/Binary_prefix . Кроме того, поскольку некоторое свободное пространство не используется для дополнительного пула пространства Survivor, объем фактически доступной памяти Runtime.getRuntime().maxMemory() меньше значения, указанного в параметре

Полезное руководство по распространенным ошибкам, связанным с размером кучи: blog.paulgu.com/java/6-common-errors-in-setting-java-heap-size

Запустите команду, java -X и вы получите список всех -X опций:

C:UsersAdmin>java -X -Xmixed mixed mode execution (default) -Xint interpreted mode execution only -Xbootclasspath:directories and zip/jar files separated by ;> set search path for bootstrap classes and resources -Xbootclasspath/a:directories and zip/jar files separated by ;> append to end of bootstrap class path -Xbootclasspath/p:directories and zip/jar files separated by ;> prepend in front of bootstrap class path -Xdiag show additional diagnostic messages -Xnoclassgc disable class garbage collection -Xincgc enable incremental garbage collection -Xloggc:file> log GC status to a file with time stamps -Xbatch disable background compilation -Xmssize> set initial Java heap size. -Xmxsize> set maximum Java heap size. -Xsssize> set java thread stack size -Xprof output cpu profiling data -Xfuture enable strictest checks, anticipating future default -Xrs reduce use of OS signals by Java/VM (see documentation) -Xcheck:jni perform additional checks for JNI functions -Xshare:off do not attempt to use shared class data -Xshare:auto use shared class data if possible (default) -Xshare:on require using shared class data, otherwise fail. -XshowSettings show all settings and continue -XshowSettings:all show all settings and continue -XshowSettings:vm show all vm related settings and continue -XshowSettings:properties show all property settings and continue -XshowSettings:locale show all locale related settings and continue

Опции -X нестандартны и могут быть изменены без предварительного уведомления.

Я надеюсь, что это поможет вам понять Xms , Xmx а также многое другое. 🙂

Вы можете указать это в вашей IDE. Например, для Eclipse в Конфигурации запуска → Аргументы виртуальной машины . Вы можете войти -Xmx800m -Xms500m как

Введите описание изображения здесь

В RubyMine на OSX это находится в меню Справка> Изменить пользовательские параметры виртуальной машины.

Источник: qastack.ru