tomcat:取消部署war文件不会卸载类

标签 tomcat memory-leaks

我正在使用:

  • 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/

相关文章:

java - 我不断收到这个 java.lang.OutOfMemoryError

macos - OpenGL Driver Monitor 表示纹理正在迅速增加。怎么找漏点?

ios - 为什么没有代码的单 View swift 应用程序会泄漏内存?

android - 为什么即使未引用 View 也不会破坏位图?

spring - 如何跟踪 session 创建

将 log4j 1.2.17 更新到 2.13.0 后出现 java.lang.ClassNotFoundException : org. apache.logging.log4j.Logger

javascript - 在 angular js 应用程序的 tomcat 访问日志中获取 session ID

java - 为什么 request.getRemoteUser() 有时会返回 tomcat Windows 服务帐户

c++ - 在 EXIT_FAILURE 发生时清理字符串,而不是 exit(0)

javascript:删除关联数组的所有对象元素