Настройте Apache/Tomcat для большого количества веб-приложений
Наиболее распространенная ошибка, которую мы получаем в catalina.out:
Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
У нас установлены веб-службы, требующие одновременного запуска и запуска до 100 веб-приложений Tomcat. Документы указывают, что мы должны выделить до 128 МБ ОЗУ для каждого запущенного Webapp. Мы перепробовали несколько установок Tomcat и одну установку (все на одном сервере), но либо ЦП максимально загружен при запуске, либо ОЗУ исчерпано.
Я изменил файл setenv.sh, чтобы установить некоторые параметры запуска, которые помогли, но мы все еще не можем обеспечить надежную работу всех 100 веб-приложений. Вот что у меня есть в нашем файле setenv.sh:
JAVA_OPTS=" $JAVA_OPTS -d64 -Xms128m -Xmx2048m -XX:PermSize=256m-XX:MaxPermSize=2048m "
export JAVA_OPTS;
Спецификации сервера различаются, но все они, по крайней мере:
- Виртуальные машины Solaris 11 x86 (Unix) (VMware)
- Минимум 8 ГБ ОЗУ
- Минимум 2 процессора (в некоторых по четыре)
На диске достаточно места.