我们目前正在WebLogic上使用JAX-RS 2.0 jersey来托管restful Web服务。我们在基准测试中观察到非常高的堆内存利用率,并且随着时间的推移而不断增加。即使在基准测试结束后,即使在jconsole上执行GC后,分配的内存也不会被释放。当我用MAT分析堆转储时,我看到oracle.j2ee.ws.server.jaxrs.dms.monitoring.internal.DmsApplication消耗了~99%的堆。我从受管服务器取消了目标DMS,但仍然是相同的行为。
对堆转储中的支配树进行的一点分析表明,监听器正在跟踪每个请求。 weblogic.jaxrs.monitoring.JaxRsRequestEventListener映射到oracle.j2ee.ws.server.jaxrs.dms.monitoring.DmsApplicationEventListener。
我是否理解正确? JAX-RS jersey是否在内部映射到DMS请求事件侦听器。如何正确配置,以便我们不会遇到此内存问题。
答案 0 :(得分:0)
我认为你需要在weblogic中查看你的诊断模块。看看手表&通知