Укажите оптимальный минимальный и максимальный размер кучи для JBoss - PullRequest
1 голос
/ 27 апреля 2011

У меня есть веб-приложение, которое я хочу развернуть для производства на компьютере с Linux.Машина будет работать на JBoss 4.2.3, и перед ней будет установлена ​​последняя версия веб-сервера Apache (с использованием mod_jk).Это единственные два приложения, которые находятся на машине.Сервер имеет 1,7 ГБ ОЗУ.Я был бы признателен за информацию или справку о том, как найти оптимальный минимальный (-Xms) и максимальный (-Xmx) размер кучи для JBoss в этой производственной среде.

Ответы [ 3 ]

3 голосов
/ 27 апреля 2011

Хороший способ найти оптимальный размер кучи - использовать VisualVM (http://hillert.blogspot.com/2010/01/remote-profiling-of-jboss-using.html) и нагрузочный тест). Это позволяет визуализировать использование кучи под нагрузкой, а также когда и как часто происходит сборка мусора. Выберите число, подобное этим Я предложил (в вашем случае где-то между 700 МБ и 1024 МБ) поместить ваш экземпляр под нагрузку и посмотреть профиль памяти. Я подозреваю, что вам будет недостаточно 1.7 ГБ для большинства производственных приложений. Обычно это проявляется в виде колючей диаграммы процессора линия от большого количества gc thrashing, плохого времени отклика и / или outmmemorerrors. Дело в том, что вы не будете знать наверняка, пока не будете тестировать.

1 голос
/ 27 апреля 2011

Каждое приложение будет предъявлять разные требования, поэтому будет сложно дать оптимальный ответ для вашей ситуации. Однако, как правило, я обнаружил, что выделение 60% памяти сервера для кучи JVM работает хорошо, когда на сервере работают только Apache и Java.

Так что я бы порекомендовал -Xms1g -Xmx1g для вашего сервера. Это должно оставить достаточно места для издержек ОС, памяти Apache и Java, выходящей за пределы кучи (а именно: постоянная генерация и размер стека, умноженные на количество потоков). Вы должны поэкспериментировать и профилировать свое приложение, чтобы убедиться, что оно стабильно.

1 голос
/ 27 апреля 2011

Ну, это, как правило, зависит от загрузки каждого приложения, а также ОС, но я бы установил максимальный размер кучи 1024 или 1280. Просто посмотрите, сколько использует ОС и Apache + некоторый буфер для пиков.

...