我的代码或我正在使用的 gems 中的某些东西正在泄漏对 JRuby 运行时的引用:每次我在 Torquebox、Trinidad 或其他任何地方重新加载应用程序时,permgen 都会填满,直到最终在太多次之后重新加载我得到一个 PermGen OOM 错误。
我该如何找出造成这种情况的原因?我寻找什么样的东西?我正在使用 JRuby 1.7.3,所以它不应该是 JRuby 本身的问题......
最佳答案
这可能是您使用 Hotspot 获得的最接近的结果,确保它清除 PermGen 内存:
JAVA_OPTS="-server -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+UseCodeCacheFlushing ..."
...如果有泄漏的引用阻止类被 GC-d,当然不会有帮助
关于jruby - 泄漏对 jruby 运行时的引用,在重新加载应用程序后出现 PermGen OOM 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18803365/