2

为了确定 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...)
}
4

1 回答 1

7

Memory MX Bean将为您提供所有非堆使用,其中 perm gen 是其中的一部分。perm gen 池本身的大小应该可以使用Memory Pool MX Bean获得,但请注意池的名称是实现和 GC 相关的。

像往常一样,这两个 JMX bean 都可以从平台服务器获得,因此它们应该可以使用JMX 客户端从外部获得。

编辑 - 链接更新到 1.7。

于 2012-08-23T08:22:16.187 回答