java - 在 Tomcat 中部署之前如何监控 PermGen 空间使用情况

标签 java tomcat permgen redeploy

为了确定在下一次重新部署后 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...)
}

最佳答案

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

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

编辑 - 链接更新到 1.7。

关于java - 在 Tomcat 中部署之前如何监控 PermGen 空间使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12086703/

相关文章:

java - 无法通过 WAN 将客户端程序连接到服务器程序

使用关系数据库部署 Java Web 应用程序

tomcat - 多播时出现 Permgen 错误

java - 由于 : java. lang.OutOfMemoryError: PermGen 空间,Tomcat6 经常挂起

java - JApplet 无法连接到互联网问题 - 如何使其受信任?

java - 方法中的@ModelAttribute

java - 逆乘法

java - Spring Web Application - 如何从页面 Controller 到业务层

ruby-on-rails - 为 ruby​​ on rails 应用程序生成 WAR 文件

java - weblogic增加内存