Tomcat resource usage monitoring using jConsole

Рубрика: Development, Java | 7 December 2006, 11:21 | Vadim Voituk

Ни для кого не секрет что серверные Java-приложения требуют под себя относительно много оперативной памяти, а OutOfMemoryException достаточно частое явление в J2EE среде.
Потому мониторинг загруженности сервера является достаточно необходимой задачей.

Самым примитивным методом мониторинга является *nix команда top.
Вот только полезной информации она дает мало, да и мониторит загруженность всей программно-апаратной системы.
Меня же чаще всего интерисует сколько ресурсов “отьедает” мое приложение в паре с сервлет-контейнером.
Можно, конечно, смотреть сколько ресурсов отедают всуме все java-процессы, но это скорее костыль, чем решение.
К моему огромному счастью в Java 5 придумали JMX API а к нему и jConsole.

С этого момента жизнь становится “проще и уютней”. Запускаем Tomcat таким образом:
$export JAVA_OPTS='-Dcom.sun.management.jmxremote.port=8004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false'
$/usr/local/tomcat/bin/catalina.sh start

далее на рабочей машине запускаем jconsole и указываем удаленное подключение на сервер по укананному (8004-му) порту.
В результате видим подобную картину:

jconsole

Более подробно можно прочитать тут.

P.S. Достаточно интересно наблюдать работу Garbage Collector на Heap Memory Usage Monitor – получается такая себе “пила”.

Оставьте комментарий!

Leave a Reply