我正在使用:
tomcat 7.0.62
Java 1.8.65
突然我发现我的 web 应用程序没有响应,只是使用 jvisualVM 发现 Metaspace 获取了超过 3GB 并加载了 700K 类,但我的应用程序只加载大约 20K 的类。我去过 在过去的几天里多次部署/取消部署我的应用程序并且 怀疑这可能是加载了这么多类的原因。
Tomcat 不应该通过取消部署应用程序来卸载类,通常 或者我的应用程序有内存泄漏?
P.S: 看catalina.log看到很多日志说failed to stop some threads 应该是memory leak等等
最佳答案
垃圾收集器只能收集不再被引用的内容。如果您的应用程序启动线程但没有停止它们,那么您可以引用。
找出哪些线程没有被停止并进行更正,以便它们停止。那应该可以解决您的问题。
关于tomcat:取消部署war文件不会卸载类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48246682/