当前位置: 首页 > 面试题库 >

解决Grails / Groovy内存泄漏问题?

华凯捷
2023-03-14
问题内容

我有一个Grails应用程序,该应用程序完成了相当不错的域对象创建和销毁工作,而且它似乎以非常非常快的速度耗尽了PermGen空间。我已经进行了通常的调整(将PermGen调整为256M,启用了类GC,等等),但是没有骰子。

有人愿意推荐一些(可能是免费或非常便宜的)工具来解决Groovy和/或Java中的这种内存消耗问题吗?还是您用来解决JVM内存问题的某些技术?

编辑:这是在生产模式下将应用程序部署在Tomcat内时;我没有尝试过使用其他容器。即使这样,还是有一些资源可以追踪问题还是很不错的。


问题答案:

你有没有尝试过

-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled

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



 类似资料:
  • 问题内容: 我有一个Python程序,它运行一系列实验,没有打算从一个测试存储到另一个测试的数据。我的代码包含一个我完全找不到的内存泄漏(我已经查看了内存泄漏的其他线程)。由于时间限制,我不得不放弃寻找泄漏的机会,但是如果我能够隔离每个实验,该程序可能会运行足够长的时间以产生所需的结果。 在单独的线程中运行每个测试是否有帮助? 还有其他隔离泄漏影响的方法吗? 具体情况详 我的代码分为两部分:实验运

  • 本文向大家介绍PHPExcel内存泄漏问题解决方法,包括了PHPExcel内存泄漏问题解决方法的使用技巧和注意事项,需要的朋友参考一下 使用 PHPExcel 来生成 excel 文档是比较消耗内存的,有时候可能会需要通过一个循环来把大数据切分成若干个小的 excel 文档保存来避免内存耗尽。 然而 PHPExcel 存在 circular references 的情况(貌似在最新的 1.6.5

  • 在阅读了大量有关MAT的内容后,我使用我的生产堆转储来分析内存泄漏问题。下面是泄漏报告错误: 线程org.apache.tomcat.util.threads.taskthread@0x6d8be0a30 http-bio-8443-exec-115保留总大小为3,695,816,440(89.03%)字节的局部变量。 内存累积在“'<'System class Loader'>”加载的“java

  • 问题内容: 昨天,我将第一个Grails(2.3.6)应用程序部署到开发服务器并开始对其进行监视。我刚得到一个自动监视器,指出CPU已固定在这台计算机上,因此我通过SSH进入了它。我跑去,发现固定服务器的是我的Java应用程序的PID。我还注意到内存为40%。几秒钟后,CPU停止固定,下降到正常水平,内存下降到〜20%范围。经典大型GC。 在收集时,我进行了堆转储。GC之后,然后我在JVisual

  • 本文向大家介绍详解ES6通过WeakMap解决内存泄漏问题,包括了详解ES6通过WeakMap解决内存泄漏问题的使用技巧和注意事项,需要的朋友参考一下 一、Map 1.定义 Map对象保存键值对,类似于数据结构字典;与传统上的对象只能用字符串当键不同,Map对象可以使用任意值当键。 2.语法 属性 size:返回键值对的数量。 操作方法 set(key, value):设置(新增/更新)键key的

  • 我有一个课程调度问题,带有用于分数计算的约束流。当求解分配的堆时,它会不断增加,因此在几个小时后甚至超过8GB,我得到了一个java.lang.OutOfMemoryError:java堆空间。正如optaplanner文档中所述,堆大小在求解器阶段应保持不变。我需要关于这种行为的问题以及如何调试的建议。 optaplanners toList ConstraintCollector中提供的复制器