2016-09-01 1 views
1

Wir verwenden derzeit JAX-RS 2.0 Trikot auf WebLogic für das Hosting von erholsamen Web-Services. Wir beobachten eine sehr hohe Speicherauslastung in den Benchmarks, die mit der Zeit zunehmen. Selbst nachdem der Benchmark beendet wurde, wird der zugewiesene Heap-Speicher nicht freigegeben, selbst nachdem ich GC auf jconsole ausgeführt habe. Wenn ich den Heap-Dump mit MAT analysiere, sehe ich, dass ~ 99% des Heaps von oracle.j2ee.ws.server.jaxrs.dm.monitoring.internal.DmsApplication verbraucht werden. Ich habe das DMS vom verwalteten Server abgesetzt, aber immer noch das gleiche Verhalten.jax-rs in weblogic high memory

Ein wenig Analyse der Dominator-Struktur im Heap-Dump zeigt, dass jede Anfrage vom Listener verfolgt wird. Der Parameter weblogic.jaxrs.monitoring.JaxRsRequestEventListener ist oracle.j2ee.ws.server.jaxrs.dm.monitoring.DmsApplicationEventListener zugeordnet.

Verstehe ich das richtig? Wird JAX-RS-Trikot dem DMS-Ereignis-Listener intern zugeordnet? Wie dies richtig konfiguriert werden kann, damit wir dieses Speicherproblem nicht haben.

Antwort

0

Ich denke, dass Sie in Weblogic Ihr Diagnosemodul betrachten müssen. Schauen Sie sich Uhren & Benachrichtigungen