воскресенье, 12 августа 2012 г.

Настройки -Xmn, -Xms, -Xmx для запуска Eclipse

Настройки запуска Eclipse.
Это короткая заметка о том, как выставить правильные настройки для запуска Eclipse.

Eclipse работает в JVM (Java Virtual Machine), поэтому параметры требуются для JVM, которая запускает Eclipse.

Небольшая заметка, основанная на эмпирическом опыте при многократном запуске Eclipse с разными параметрами.

Для наблюдения за памятью в Eclipse, можно включить опцию 
Window / Preference / General / галочка Show heap status
После этого в правом нижнем углу эклипса появится индикатор памяти.
Клик правой кнопкой / Show max heap.
Теперь красной полоской отмечено значение MAX (примерное значение 95% * Xmx)
Граница оранжевой полоски TOTAL (примерное значение 93% * Xms)
Белая полоска HeapSize показывает сколько места сейчас занято.
Если нажать на мусорное ведро, то сработает сборщик мусора, и белая полоска будет стремиться установиться в позицию равную по значению Xmn (параметр из опций запуска)
(P.S. Описанное выше в плане % приблизительно.)

Список некоторых параметров запуска:
-Xmn  определяет объём занятой памяти до которой сборщик мусора должен освобождать память (если это возможно).
-Xms  определяет размер начальной выделенной памяти под объекты
-Xmx  определяет максимальный размер памяти, выше которого приложение не задействует.


Правило настроек запуска Eclipse:
-Xmn < -Xms < -Xmx
А также:  
Xms примерно равно Xmx;
Xmn примерно половина от Xms;

Оптимальные настройки запуска Eclipse для ОЗУ в 6Gb (для эклипса выделяется не более 2.5Гб)
-Xmn1200m -Xms2400m -Xmx2500m

Оптимальные настройки запуска Eclipse для ОЗУ в 2Gb (для эклипса выделяется  не более 800Мб)
-Xmn380m -Xms750m -Xmx800m


Полезные ссылки:
http://habrahabr.ru/post/117274/
http://www.javaspecialist.ru/2011/04/permanent.html
http://www.javaspecialist.ru/2011/04/java-thread-stack.html
http://habrahabr.ru/post/65076/