The exceptions are as follows: Exception in thread "main" Java.lang.OutOfMemoryError:GC overhead limit exceeded
First, explain: JDK6 new error type.
This exception is thrown when the GC takes up a lot of time to free up a small space
That is, Sun's official definition of this is that this exception is thrown when more than 98% of the time is spent on GC and when less than 2% of the heap memory is recycled.
This is typically because the heap is too small to cause an exception: there is not enough memory.
Second, the solution:
1, to see if the system has the use of large memory code or dead loop.
2, you can add the JVM's startup parameters to limit the use of memory:-xx:-usegcoverheadlimit
The method is as follows: In the Linux environment, add to the Cygwin=false line in Tomcat's catalina.sh file
Java_opts= "-xms512m-xmx2048m-xss1024k-xx:permsize=256m-xx:maxpermsize=512m-xx:-usegcoverheadlimit"