GC overhead limit exceeded

Questions and Answers on installation, deployment, management, locking, tranasactions of Servoy Application Server

GC overhead limit exceeded

Postby lhale » Thu Oct 11, 2012 3:16 pm

Servoy locked up yesterday throwing the exception below. All clients and the app server locked up.

Exception in thread "RMI TCP Connection(idle)" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "RMI RenewClean-[*******:5638]" at java.io.BufferedOutputStream.<init>(BufferedOutputStream.java:59)
at java.io.BufferedOutputStream.<init>(BufferedOutputStream.java:42)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:725)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.io.ObjectOutputStream$HandleTable.<init>(ObjectOutputStream.java:2235)
at java.io.ObjectOutputStream.<init>(ObjectOutputStream.java:226)
at sun.rmi.server.MarshalOutputStream.<init>(MarshalOutputStream.java:46)
at sun.rmi.server.MarshalOutputStream.<init>(MarshalOutputStream.java:37)
at sun.rmi.transport.ConnectionOutputStream.<init>(ConnectionOutputStream.java:44)
at sun.rmi.transport.StreamRemoteCall.getOutputStream(StreamRemoteCall.java:83)
at sun.rmi.transport.StreamRemoteCall.getOutputStream(StreamRemoteCall.java:74)
at sun.rmi.transport.StreamRemoteCall.<init>(StreamRemoteCall.java:52)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:331)
at sun.rmi.transport.DGCImpl_Stub.dirty(Unknown Source)
at sun.rmi.transport.DGCClient$EndpointEntry.makeDirtyCall(DGCClient.java:342)
at sun.rmi.transport.DGCClient$EndpointEntry.access$1600(DGCClient.java:153)
at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:555)
at java.lang.Thread.run(Thread.java:662)
Oct 10, 2012 2:34:14 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet servoy_client threw exception
java.lang.OutOfMemoryError: GC overhead limit exceeded
Oct 10, 2012 2:35:49 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet servoy_client threw exception
java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "SocketAccepter[5]" java.lang.OutOfMemoryError: GC overhead limit exceeded

Lockup occurred with the following parameters:
java -Djava.awt.headless=true -Xmx1024m -Xms64m -XX:MaxPermSize=128m

I changed to:
java -Djava.awt.headless=true -Xmx2048m -Xms64m -XX:MaxPermSize=128m

App server
Ubuntu Server 6.06 32 bit PAE enabled(Physical Address Extension - allows exceeding 4 gig 32 bit limit) with 7 gig of ram
java 1.6_024
Servoy version 5.2.7

client

servoy.initialClientHeap:
servoy.maxClientHeap: 256
java 1.6
win 7 and xp

This appears to be a garbage collector issue thus the reason I maxed out ram for jvm (2GB limit on 32 bit ). I hope this corrects the issue. Can someone give me some tweaks for java maybe like increasing -Xms or MaxPermsize. I will be upgrading to 64 bit down the line, however I would like to maximize what I have at this time. Thanks for all your help.
lhale
 
Posts: 108
Joined: Mon Mar 17, 2008 3:49 pm

Return to Servoy Server

Who is online

Users browsing this forum: No registered users and 8 guests