title: Tomcat crashes with error java.lang.OutOfMemoryError: GC overhead limit exceeded
body: <p>After the tomcat ran several months, I got unexpectetly the error below.
  We restarted the tomcat and the error do not appear now but may be will come again in the future.
  I saw that another users had simmilar exceptions, related with the garbage collection, but not related exactly with the NIO connector.</p>
  
  <p>Does somebody has an idea why this happens and what should be the correct fix to avoid it.</p>
  
  <pre><code>Jan 15, 2016 7:46:47 AM org.apache.tomcat.util.net.NioEndpoint$SocketProcessor run
  SEVERE: 
  java.lang.OutOfMemoryError: GC overhead limit exceeded
          at java.util.Collections.synchronizedSet(Collections.java:1691)
          at org.atmosphere.cpr.AtmosphereRequest$Builder.&lt;init&gt;(AtmosphereRequest.java:1146)
          at org.atmosphere.cpr.AtmosphereRequest.wrap(AtmosphereRequest.java:1891)
          at org.atmosphere.cpr.AtmosphereServlet.event(AtmosphereServlet.java:295)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilterEvent(ApplicationFilterChain.java:484)
          at org.apache.catalina.core.ApplicationFilterChain.doFilterEvent(ApplicationFilterChain.java:377)
          at org.apache.catalina.core.StandardWrapperValve.event(StandardWrapperValve.java:411)
          at org.apache.catalina.core.StandardContextValve.event(StandardContextValve.java:146)
          at org.apache.catalina.valves.ValveBase.event(ValveBase.java:224)
          at org.apache.catalina.core.StandardHostValve.event(StandardHostValve.java:256)
          at org.apache.catalina.valves.ValveBase.event(ValveBase.java:224)
          at org.apache.catalina.valves.ValveBase.event(ValveBase.java:224)
          at org.apache.catalina.core.StandardEngineValve.event(StandardEngineValve.java:138)
          at org.apache.catalina.connector.CoyoteAdapter.event(CoyoteAdapter.java:210)
          at org.apache.coyote.http11.Http11NioProcessor.event(Http11NioProcessor.java:124)
          at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
          at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1690)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:744)
  </code></pre>