Що таке параметри -Xms та -Xmx при запуску JVM?
Поясніть, будь ласка, використання параметрів Xms
та Xmx
в JVM. Які значення для них встановлені за замовчуванням?
905
3
Поясніть, будь ласка, використання параметрів Xms
та Xmx
в JVM. Які значення для них встановлені за замовчуванням?
Прапор
Xmx
визначає максимальний пул виділення пам'яті для віртуальної машини Java (JVM), аXms
- початковий пул виділення пам'яті.Це означає, що ваша JVM буде запущена з
Xms
об'ємом пам'яті і зможе використовувати максимумXmx
об'єм пам'яті. Наприклад, запуск JVM, як показано нижче, запустить її з 256 МБ пам'яті і дозволить процесу використовувати до 2048 МБ пам'яті:Прапорець пам'яті також може бути вказано у різних розмірах, таких як кілобайти, мегабайти тощо.
Прапор
Xms
не має значення за замовчуванням, аXmx
зазвичай має значення за замовчуванням 256 Мб. Ці прапори зазвичай використовуються, коли виникає помилкаjava.lang.OutOfMemoryError
.При використанні цих налаштувань майте на увазі, що ці налаштування призначені для купи пам'яті JVM, і що JVM може/буде використовувати більше пам'яті, ніж просто розмір, виділений для купи пам'яті. З документації Oracle:
Виконайте команду
java -X
і ви отримаєте список всіх опцій-X
:**Опції -X є нестандартними і можуть бути змінені без попереднього повідомлення.
Сподіваюся, це допоможе вам розібратися з
Xms
,Xmx
, а також з багатьма іншими важливими речами :)Саме питання вже було розглянуто вище. Просто додамо частину значень за замовчуванням.
За матеріалами http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html
Значення Xmx за замовчуванням буде залежати від платформи та обсягу пам'яті, доступної в системі.