WebappClassLoader不是Spring MVC中收集的垃圾

时间:2016-09-16 12:47:40

标签: java spring-mvc groovy memory-leaks permgen

我使用Spring / Hibernate开发了Web应用程序。

当我使用JProfiler进行性能分析时,它会显示大约9k的WebAppClassLoader。我们在运行时执行一些groovy表达式,将计数增加到20K。

我这样做是为了找到泄漏。

  1. 部署应用程序
  2. 执行一些测试运行
  3. 重新部署应用程序
  4. 从JProfiler触发GC
  5. 计数WebAppClassLoader永远不会减少,PermGen也是如此。当我做HeapWalk时,它会显示许多类,不确定哪个类有泄漏。

    1. 我尝试使用简单的Spring MVC应用程序。同样注意到了。是否有任何spring属性/配置来解决这个问题。
    2. 当groovy表达式运行
    3. 时,有没有办法在运行时停止加载类

1 个答案:

答案 0 :(得分:0)

使用我的this博客系列,你应该能够追踪你的ClassLoader泄漏。使用我的ClassLoader Leak Prevention library你应该能够摆脱这个问题。