2015-02-13 6 views
0

У меня есть JVM, который я начать со следующими параметрами: -XX: MaxPermSize = 256m -XX: + CMSClassUnloadingEnabled -Xmx2048m
Для того, чтобы иметь более высокую производительность, я должен добавить Xms и XX: PermSize? Что такое хорошее значение для Xms и XX: PermSize (в процентах от максимального или равного max)?
Как проверить производительность (время начала и т. Д.) В linux.JVM- Аргументы Xms и permsize

Большое спасибо

+0

Что вы подразумеваете под «большей производительностью»? –

+0

Если бы я поставил минимум, я бы подумал, что ему не нужно всегда проверять память и выделять дополнительную память и извлекать память, когда она ей не нужна. Так как есть меньше проверок, он должен быть более результативным, поскольку выделена память (не менее мин). Дайте мне знать, если я ошибаюсь – Dusty

+1

, если вы не указали минимальное значение кучи, будет вычисляться минимальное значение для вашей кучи на основе используемой вами версии java и машины, на которой вы ее запускаете. Поэтому не беспокойтесь об этом, если вы не увидите слишком много Full GC для своего приложения :) – Arkantos

ответ

1

The XMS флаг даты от времени, прежде чем JVM было инкрементного сбора мусора, и поэтому это было выгодно держать кучу как малые, как это может быть (чтобы сохранить коллекции мусора, как короткие, как возможное). Таким образом, вы должны зарезервировать соответствующий максимальный объем памяти при запуске с флагом Xmx, но только совершите меньший кусок с помощью Xms.

Теперь у нас есть генераторные сборные сборщики мусора, часто оптимально устанавливать Xms и Xmx на одно и то же значение. Это позволяет избежать динамического выделения памяти в кучу, что требует полной сборки мусора, которая может негативно повлиять на производительность.

Если вы запускаете приложение с низким значением для Xms и включаете ведение журнала GC (-verbose: gc -Xloggc: FILENAME), файл журнала покажет, как размеры кучи и поколения меняются по мере запуска приложения и дают вам представление о том, сколько памяти потребуется вашему приложению.

Смежные вопросы