Проблема мониторинга Tomcat JMX с Perm Gen

У меня проблема с нашим мониторингом jmx. мы отслеживаем разрешение некоторых jvms с помощью jmx. но время от времени название mbean меняется с "PS Perm Gen" на "Perm Gen" или наоборот. это происходит при перезапуске сервера Tomcat, но не при каждом перезапуске.

версия jvm - 1.5.0_16.

кто-нибудь сталкивался с этой проблемой и, возможно, есть решение?

1 ответ

Решение

Вы, вероятно, используете разные сборщики мусора. Имя PermGen Область памяти различается в зависимости от выбранного сборщика мусора:

  • -XX:+UseParallelGC: PS PermGen
  • -XX:+UseConcMarkSweepGC: CMS PermGen
  • -XX:+UseSerialGC: PermGen

Похоже, что Tomcat запускается с помощью последовательного (стоп-мирного) коллектора или параллельного коллектора.

Проверьте любые несоответствия в сценариях запуска или настройках среды.

Обновление. Параметры сборщика мусора и памяти зависят от эргономики JVM, что означает, что они автоматически выбираются при запуске на основе характеристик компьютера, на котором работает JVM. Я не могу найти никаких ссылок прямо сейчас, но IIRC они основаны на архитектуре процессора и общей доступной памяти.

Я предлагаю вам указать один из сборщиков мусора в ваших сценариях запуска. В зависимости от вашего приложения может быть нехорошо выбрать случайный сборщик мусора.

Другие вопросы по тегам