Grails/Groovy内存泄漏疑难解答?

Don*_*rve 16 java grails groovy jvm

我有一个Grails应用程序,它创建了相当不错的域对象创建和破坏,并且它似乎以非常非常快的速度耗尽了PermGen空间.我做了通常的调整(将PermGen提升到256M,启用了类GC等),但没有骰子.

是否有人愿意推荐一些(并希望免费或非常低成本)工具来解决Groovy和/或Java中的这种内存消耗?或者您用于解决JVM内存问题的一些技术?

编辑:这是在生产模式下在Tomcat内部署应用程序的时间; 我没试过其他容器.即便如此,有一些资源可以追踪问题.

Dan*_*ser 10

你有没有尝试过

-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled
Run Code Online (Sandbox Code Playgroud)

加上增加秋后算账(-Xmx,-Xms,-XX:PermSize-XX:MaxPermSize)这解决了所有我们生产的Tomcat,这已经部署应用程序后,很快发生PermGen的问题.之后再也没见过另一个OOM-Exception.:-)


Joa*_*uer 6

我个人喜欢VisualVM.肯定有更强大的工具,但是这个工具具有很好的可用性 - 功率比.


and*_*dri 1

YourKit是一个很好的工具,我曾多次使用它来诊断内存问题。它是商业版,但有一个免费评估版本可用于一次性调试。