如何解决java.lang.OutOfMemoryError:Weblogic中超出了GC开销限制?

如何解决java.lang.OutOfMemoryError:Weblogic中超出了GC开销限制?,java,weblogic12c,atg,atg-dynamo,atg-droplet,Java,Weblogic12c,Atg,Atg Dynamo,Atg Droplet,我正在尝试删除大量数据,在本地系统上获取此数据,如何解决此问题。使用weblogic 12c,oracle atg。在dyn/admin上获取上述错误,并在线程“[STANDBY]ExecuteThread:'3'for queue:'weblogic.kernel.Default(自调优)”中的cmd prompt Exception上获取以下错误java.lang.OutOfMemoryError:超出了GC开销限制。该异常+消息意味着您的JVM决定在垃圾收集上花费太多时间。。。相对于做有用

我正在尝试删除大量数据,在本地系统上获取此数据,如何解决此问题。使用weblogic 12c,oracle atg。在dyn/admin上获取上述错误,并在线程“[STANDBY]ExecuteThread:'3'for queue:'weblogic.kernel.Default(自调优)”中的cmd prompt Exception上获取以下错误java.lang.OutOfMemoryError:超出了GC开销限制。

该异常+消息意味着您的JVM决定在垃圾收集上花费太多时间。。。相对于做有用的工作。这通常意味着堆几乎已满,GC正在以越来越高的频率运行(通常是徒劳的)继续运行

根据具体情况,可能的解决方案有:

  • 获取更多的物理内存,以增加堆大小
  • 查找并修复任何内存泄漏
  • 使问题变得更小

  • 在您的情况下,缩小问题可能涉及减少在每个事务中删除的对象的数量。

    这是否回答了您的问题?我用过这款车,现在它可以正常工作了。但是性能太慢了,我删除了1000个订单,但仍然需要数小时的执行,仍然无法删除所有订单。我该怎么办?我正在从dcspp_订单表和所有有该订单条目的表中删除一个特定订单,就像其他11个表一样。我必须删除大约2050万个订单。您能建议一些有助于提高性能的方法吗。我还使用了JTA事务管理器。这是一个不同的问题。。。还有一个不同的问题。
    java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at atg.nucleus.ServiceAdminServlet.printMethodInvocation(ServiceAdminServlet.java:1478)
        at atg.nucleus.ServiceAdminServlet.service(ServiceAdminServlet.java:256)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
        at atg.nucleus.Nucleus.service(Nucleus.java:3050)
        at atg.nucleus.Nucleus.service(Nucleus.java:2950)
        at atg.servlet.pipeline.DispatcherPipelineServletImpl.service(DispatcherPipelineServletImpl.java:253)
        at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
        at atg.servlet.pipeline.ServletPathPipelineServlet.service(ServletPathPipelineServlet.java:208)
        at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
        at atg.security.ExpiredPasswordAdminServlet.service(ExpiredPasswordAdminServlet.java:312)
        at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
        at atg.servlet.pipeline.BasicAuthenticationPipelineServlet.service(BasicAuthenticationPipelineServlet.java:555)
        at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
        at atg.servlet.pipeline.DynamoPipelineServlet.service(DynamoPipelineServlet.java:491)
        at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
        at atg.dtm.TransactionPipelineServlet.service(TransactionPipelineServlet.java:249)
        at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
        at atg.servlet.pipeline.SecurityServlet.service(SecurityServlet.java:200)
        at atg.servlet.pipeline.PipelineableServletImpl.passRequest(PipelineableServletImpl.java:157)
        at atg.servlet.pipeline.HeadPipelineServlet.passRequest(HeadPipelineServlet.java:1294)
        at atg.servlet.pipeline.HeadPipelineServlet.service(HeadPipelineServlet.java:963)
        at atg.servlet.pipeline.PipelineableServletImpl.service(PipelineableServletImpl.java:272)
        at atg.nucleus.servlet.NucleusProxyServlet.service(NucleusProxyServlet.java:238)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:243)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3432)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
        at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
        at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
    Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded