是什么在java.lang.OutOfMemory的区别:GC开销超过限制与java.lang.OutOfMemory:组播监听器 [英] What is the difference in java.lang.OutOfMemory: GC Overhead limit exceeded vs. java.lang.OutOfMemory: Multicast listener

查看:360
本文介绍了是什么在java.lang.OutOfMemory的区别:GC开销超过限制与java.lang.OutOfMemory:组播监听器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我调查我们的应用程序缓慢,并最终在集群环境下去实例之一。

:几个星期前,我碰到下面的错误来了<$p$p><$c$c>[#|2012-05-11T14:12:03.460-0400|SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=89;_ThreadName=httpSSLWorkerThread-7311-0;_RequestID=7afaee11-c970-40dd-b5fb-29498af8e512;|StandardWrapperValve[LoginModule]: PWC1406:Servlet.service()进行的servlet的LoginModule抛出异常
java.lang.OutOfMemoryError:GC开销超过限制

我想,既然GC开销限制被超过,它必须是与我的应用程序。有一份报告,是关于使用POI将记录在Excel中确实密集,所以我认为可能会导致它。作为一个短期的修正,直到下一个版本中,我们得知1用户谁曾访问该报告不能访问它。

然而,今天,两个星期后再次其中一个实例下去并在搜索日志中,我发现下面的错误:

<$p$p><$c$c>[#|2012-06-05T10:31:36.532-0400|SEVERE|sun-appserver2.1|net.jxta.impl.endpoint.mcast.McastTransport|_ThreadID=141;_ThreadName=IP组播侦听为MCAST://228.8.10.93:31676; _RequestID = 90caf76e-b740-4f11-8ffe-8ab88a740569; |未捕获的Throwable螺纹:IP组播监听器MCAST://228.8.10.93:31676
java.lang.OutOfMemoryError:Java堆空间
|#]

请注意超过了 GC开销限制的区别 Java堆空间。我试图找出是否我今天看到的错误是由同样的原因,用户访问报表造成的,但是,我相信,如果是这样的话那么我会看到 GC开销超过限制

相信今天误差更相关的服务器的配置。

请澄清帮忙。


解决方案

第一个错误GC开销是指GC正在CPU周期的很大一部分,主要是这意味着98%或99%,而在每次运行它​​释放非常少的内存1-2%。

第二个错误是指你的应用程序的一些处理过程中走出了记忆。

此外,您的调查占用过多的内存正确的POI,POI有多余的内存消耗的历史。

穿过<少时href=\"http://stackoverflow.com/questions/1393486/what-does-the-error-message-java-lang-outofmemoryerror-gc-overhead-limit-excee\">very在SO 商量好了

I am investigating the slowness in our application and eventually one of the instances in a cluster environment going down. Few weeks back I came across the error below:

[#|2012-05-11T14:12:03.460-0400|SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=89;_ThreadName=httpSSLWorkerThread-7311-0;_RequestID=7afaee11-c970-40dd-b5fb-29498af8e512;|StandardWrapperValve[LoginModule]: PWC1406: Servlet.service() for servlet LoginModule threw exception
java.lang.OutOfMemoryError: GC overhead limit exceeded

I figured that since GC overhead limit was exceeding, it had something to do with my application. There is a report that is really intensive on putting records in excel using POI, so I thought that might be causing it. As a short term fix, until next release, we informed 1 user who had access to this report to not access it.

However, today, two weeks later again one of the instances went down and upon searching the logs I found the error below:

[#|2012-06-05T10:31:36.532-0400|SEVERE|sun-appserver2.1|net.jxta.impl.endpoint.mcast.McastTransport|_ThreadID=141;_ThreadName=IP Multicast Listener for mcast://228.8.10.93:31676;_RequestID=90caf76e-b740-4f11-8ffe-8ab88a740569;|Uncaught Throwable in thread :IP Multicast Listener for mcast://228.8.10.93:31676
java.lang.OutOfMemoryError: Java heap space
|#]

Please note the difference in GC overhead limit exceeded vs. Java heap space. I am trying to find out whether the error I saw today is caused by the same reason of the user accessing the report, however, I believe if that were the case then I would see GC overhead limit exceeded.

I believe the error today is more related to the configuration of the server.

please help in clarifying.

解决方案

The first error "GC Overhead" means that GC is taking large portion of CPU cycle, mostly it means 98% or 99% and in each run it is releasing very less memory 1-2%.

The second error means your application went out of memory during some processing.

Also your investigation is correct of POI using up too much of memory, POI has a history of extra memory consumption.

Came across a very good discussion on SO

这篇关于是什么在java.lang.OutOfMemory的区别:GC开销超过限制与java.lang.OutOfMemory:组播监听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆