Как контролировать использование пространства PermGen перед повторным развертыванием в Tomcat

Чтобы решить, может ли jvm столкнуться с нехваткой пространства permgen после следующего повторного комментария, я бы хотел проконтролировать текущее использование пространства permgen перед этим.

что-то вроде:

set myPermGenThreshold = 0.51  (51%)
currentlyUsedPermGenSize = (...ask the jvm here... say it's 0.6)

if (currentlyUsedPermGenSize > myPermGenThreshold ) {
 (...restart tomcat...)
}
else {
  (...redeploy application...)
}

1 ответ

Решение

Memory MX Bean предоставит вам все возможности использования без кучи, частью которой является perm gen. Размер самого пула perm gen должен быть доступен с помощью bean-компонента MX пула памяти, но имейте в виду, что имена пулов зависят от реализации и зависят от GC.

Обе эти компоненты JMX, как обычно, доступны с сервера платформы, поэтому они должны быть доступны извне с помощью клиента JMX.

Изменить - ссылки обновлены до 1.7.

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