Tomcat 有一个众所周知的内存泄漏问题,该问题会在重新部署过多后导致 PermGen 空间错误。
我想知道的是以完全重置该空间并消除现有内存泄漏的方式重新加载服务器的最佳实践。仅使用 shutdown.sh 和 startup.sh 并没有减少它:似乎泄漏的内存一直在泄漏。重新启动机器当然可以,但我想知道是否存在更快/更清洁/更安全的解决方案。
谢谢!
(当然,我可以分配更多的 PermGen 空间,但这只是延迟问题,我想在将应用程序声明为生产就绪之前清除泄漏的内存,因为我之后要换工作,因此应用程序暂时不会重新部署)
编辑:正如下面评论中提到的,似乎脚本应该已经刷新所有内存,因为它们创建了一个新的 JVM,所以在多次重新部署之后,即使在新的 JVM 中,一定还有其他一些因素导致 PermGen 错误继续发生。