一挂就报内存溢出 下面是TOMCAT日志
JAVA程序是没有报错,
Nov 24, 2009 4:07:02 PM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.OutOfMemoryError: PermGen space
Nov 24, 2009 4:07:02 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet action threw exception
java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-8180-36" java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-8180-35" java.lang.OutOfMemoryError: PermGen space
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" java.lang.OutOfMemoryError:
PermGen space
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0" java.lang.OutOfMemoryError:
PermGen space
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" java.lang.OutOfMemoryError:
PermGen space
Login Success!
Exception in thread "http-8180-23" java.lang.OutOfMemoryError: PermGen space
ParametersInterceptor - [setParameters]: Unexpected Exception caught setting ‘action‘ on ‘class
com.szyt.ajax.SuggestedMessage: Error setting expression ‘action‘ with value ‘[Ljava.lang.String;@14653f5
ParametersInterceptor - [setParameters]: Unexpected Exception caught setting ‘verificationStatus‘ on ‘class
com.szyt.ajax.SuggestedMessage: Error setting expression ‘verificationStatus‘ with value ‘[Lj
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" java.lang.OutOfMemoryError:
PermGen space
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0" java.lang.OutOfMemoryError:
PermGen space
Exception in thread "http-8180-14" java.lang.OutOfMemoryError: PermGen space
Exception in thread "com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" java.lang.OutOfMemoryError:
PermGen space
Exception in thread "Thread-12" java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-8180-37" java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-8180-25" java.lang.OutOfMemoryError: PermGen space
Exception in thread "Timer-0" java.lang.OutOfMemoryError: PermGen space
Exception in thread "Thread-10" java.lang.OutOfMemoryError: PermGen space
Exception in thread "http-8180-39" java.lang.OutOfMemoryError: PermGen space
解决方案:
非堆空间不足,其实设置已经很大了-XX:PermSize256M -XX:MaxPermSize:512M
应该是 PermGen space 在tomcat 默认是 64m 通常足够用了,溢出原因看 http://wiki.apache.org/tomcat/FAQ/Deployment,其中关键的是
引用: |
Because the Classloader (and the Class objects it loaded) cannot be recycled. |
其它参考 http://wiki.apache.org/tomcat/OutOfMemory
考虑使用 -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
_________________