-Xms: начальный размер кучи или минимальный размер кучи? - PullRequest
26 голосов
/ 23 декабря 2009

-Xms - указать начальный размер кучи или минимальный размер кучи? Я вижу много мест с множеством разных ответов. Некоторые, как второй ответ здесь , говорят, что это для начальной кучи, а некоторые, как здесь , говорят, что это минимальный размер кучи. Или это минимальный размер самого исходного размера?

Ответы [ 2 ]

31 голосов
/ 23 декабря 2009

Начальный размер кучи - это минимальный размер кучи. Он не станет меньше начального размера кучи.

С Настройка сборки мусора с помощью виртуальной машины Java [tm] 5.0 * :

По умолчанию виртуальная машина растет или сжимает кучу в каждой коллекции пытаться сохранить пропорцию свободного пространство для живых объектов на каждом Коллекция в пределах определенного диапазона. Этот целевой диапазон устанавливается как процент по параметрам -XX: MinHeapFreeRatio = и -XX: MaxHeapFreeRatio =, а общий размер ограничен ниже -Xms и выше на -Xmx.

12 голосов
/ 23 декабря 2009

От запуска Java -X:

-Xms<size>        set initial Java heap size
-Xmx<size>        set maximum Java heap size
-Xss<size>        set java thread stack size

Обратите внимание, что параметры -X не гарантированно существуют на всех виртуальных машинах или ведут себя одинаково на всех виртуальных машинах. Например, -Xms может отформатировать ваш жесткий диск в зависимости от виртуальной машины (но не будет, но, строго говоря, может :-) (сам по себе ввод java поможет с этой строкой: «-X справка печати при нестандартных параметрах») .

...