воскресенье, 22 апреля 2012 г.

Рекомендации по настройке JVM для Weblogic Server в промышленном окружении

Внимание: описанные ниже рекомендации являются общими без учёта специфики конкретных приложений выполняющихся на сервере приложений Weblogic (например: некоторые фреймворки генерируют большое количество временных объектов, для этого случая, рекомендуется сделать размер nursery больше чем в общей рекомендации, но после проведения мониторинга JVM).

Общие рекомендации для любой JVM:
  • Установите одинаковый размер для initial heap size (параметр -Xms) и maximum heap size (параметр -Xmx);
  • Установить размер heap-а немного больше того, с которого нагрузочные тесты перестают получают исключение Out-of-Memory;
  • Не устанавливайте суммарный размер heap-а всех сервером на физической машине (с точки зрения ОС) больше чем 75% доступной памята.
Рекомендации для JRockit JVM:
  • Установите размер nursery (параметр -Xns) примерно 25-40% от размера heap-а;
  • Установите приоритетный уровень (параметр -XgcPrio) для сборщика мусора на значение по-умолчанию, т.е. throughput.
Рекомендации для Sun JVM:
  • Установите одинаковый размер для initial New Space (параметр -XX:NewSize) и maximum New Space (параметр -XX:MaxNewSize);
  • Установите значение New Space примерно 25% от размера heap-а;
  • Установите Survivor Ratio (параметр -XX:SurvivorRatio) значение 8.


2 комментария:

  1. Добрый день, а касательно JVM JRocket, с запуском опции -Xnoopt(без оптимизации кода) можете чтото добавить. Просто периодически перезапускается сервер, с ошибкой Illegal Memory access.

    ОтветитьУдалить
    Ответы
    1. Возможно это Bug 10169352, если так, то обновите JRockit до версии 28.2.2

      Удалить