Подвисает Tomcat

При работе сервера Tomcat случаются кратковременные "подвисания", т.е. на пару минут сервер перестает отвечать затем продолжает работу.
Как вариант, "подвисания" могут случаться из-за работы сборщика мусора garbage collector.
В этом случае можно поэксперементировать с параметром -Xincgc, который включает incremental garbage collection. Это означает, что сборщик мусора не будет надолго блокировать сервер во время выполнения своих накопленных заданий, а будет выполнять задания короткими фазами по мере их поступления.
(This means that rather than halting in place to perform garbage collection tasks, the JVM will execute garbage collection in small phases.)
Для отображения работы GC результаты можно вывести в лог параметром verbose:gc.
Пример параметров JVM:

JAVA_OPTS="-server -Djava.awt.headless=true -Xms1g -Xmx6g -XX:MaxPermSize=256M -XX:+AggressiveOpts -XX:+UseStringCache -XX:+OptimizeStringConcat -Xincgc -verbose:gc"

Для вступления параметров в силу сервер Tomcat необходимо перезагрузить.
В Ubuntu это будет выглядеть так:

/etc/init.d/tomcat6 restart

В catalina.out появятся записи вида:

[GC 742095K->681047K(1163812K), 0.0159740 secs]
[GC 749207K->685947K(1163812K), 0.0136100 secs]
[GC 754104K->693327K(1163812K), 0.0104460 secs]
[GC 729857K(1163812K), 0.0590450 secs]

Источник: http://www.mulesoft.com/tomcat-jvm

Метки: . Закладка Постоянная ссылка.

Добавить комментарий

Ваш e-mail не будет опубликован.

*