当我取消部署使用Apache Shiro的webapp时,Tomcat Manager将检测到泄漏。我查看了堆并搜索了“org.apache.shio.*”,我看到Shiro使用的所有枚举,比如Cookie.SameSiteOptions,仍然加载在内存中。有没有办法在我取消部署webapp的时候,防止它们一直加载在内存中?如果我在不重启Tomcat的情况下继续重新部署,会不会随着时间的推移而导致问题?
发布于 2020-07-31 18:06:52
使用内存分析器查找留在内存中的Shiro对象的"GC根“。
您应该始终能够将对象追溯到内存中保存该对象的活动对象。你可能会发现,由于一些泄漏,应用程序的ClassLoader
已经被固定在内存中,因此为应用程序加载的所有内容都将无限期地停留在内存中。
如果您希望能够在不重新启动JVM的情况下多次重新部署应用程序,那么跟踪这类泄漏是非常重要的。
https://stackoverflow.com/questions/63191637
复制相似问题