内存泄漏在MongoDB中的Grails(Memory Leak in Grails with Mo

2019-10-18 20:49发布

我一直保存或更新的MongoDB Grails中的几个对象时,发现了一个奇怪的问题。 目前我使用的Grails 2.2.3和MongoDB插件1.3.0。

这个问题似乎是MiUsuario的情况下,永远不会GC既不当我手动调用GC。 在我们的主要应用我们不作批量更新,但这样做时,负载测试(使用JMeter和监视JVM与Java VisualVM的)这个问题会导致内存填充和Tomcat停止响应。

我创建了一个新的小应用程序显示的问题。

一个简单的域对象:

class MiUsuario {
    ObjectId id
    String nickName
}

我的控制器:

import pruebasrendimiento.Prueba

class MiUsuarioController {
    def doLogin(String privateKey, String id){
        MiUsuario user = MiUsuario.get(id)
        user.nickName = new Random().nextInt().toString()
        user.save(failOnError:true)
        render 'ok'
    }
}

我BuildConfig(只依赖和插件的部分):

    dependencies {
    }
    plugins {
    //      runtime ":hibernate:$grailsVersion" 
            runtime ":jquery:1.8.3"
            runtime ":resources:1.2"
            build ":tomcat:$grailsVersion"
    //      runtime ":database-migration:1.3.2"
    //      compile ':cache:1.0.1'
        runtime ":mongodb:1.3.0"
    }

我也尝试过的东西,伯特说,很久以前( http://burtbeckwith.com/blog/?p=73 ),但DomainClassGrailsPlugin.PROPERTY_INSTANCE_MAP.get()。明确的()没有任何区别。 这就是在该页面表示,其他选项,RequestContextHolder.resetRequestAttributes(),给了我一个例外。

Answer 1:

我有类似的问题,它解决了升级到2.3.1的Grails。 试试吧。



文章来源: Memory Leak in Grails with MongoDB