gpt4 book ai didi

tomcat - 尽管有 JVM 标志,有什么方法可以防止 Grails permgen 在 tomcat 的生产模式下重新部署时泄漏

转载 作者:行者123 更新时间:2023-11-28 21:49:47 25 4
gpt4 key购买 nike

这是一个熟悉的老问题,但我真的想一劳永逸地解决它!我设置了以下 JVM 标志:

-XX:+CMSClassUnloadingEnabled 
-XX:+CMSPermGenSweepingEnabled -Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=true

但我仍然观察到每个部署周期的 permgen 使用率都提高了 50MB。我正在使用 Tomcat 管理器应用程序进行远程部署,而 Grails 处于生产模式。

如果它太满,则需要 kill -9!

我可能会尝试使用 JRockit,但现在也不是一个选择。我真的觉得在生产环境中每隔一段时间就必须反弹整个容器是 Not Acceptable 。

最佳答案

Permgen 泄漏是一个问题,无论您在使用 grails 时使用什么应用服务器是我的经验(高度个人化且可能容易争辩的轶事,只是为了清楚;))。

如果这是您部署的唯一应用程序,为什么不直接关闭 shutdown.sh,删除 webapp 文件夹,放入 war,然后启动 startup.sh?

这是我们的方式,重新部署只增加了大约 7 秒(其中 5 秒是 sleep 5 以确保 catalina 在恢复之前完全关闭)。

编辑:

无论如何,在我看来,每个应用程序拥有一个 tomcat 实例非常酷!

关于tomcat - 尽管有 JVM 标志,有什么方法可以防止 Grails permgen 在 tomcat 的生产模式下重新部署时泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8272526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com