JVM内存不足异常
Web Server中布署项目,出现内存不足异常。例TOMCAT,本机Windows ,内存1G
异常1:java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
PermGen space,全称是Permanent Generation space,
就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域
从字面看,和存放Instance的Heap区域不同,
GC(Garbage Collection)应该不会对PermGen space进行清理
所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误
解决:设置JVM的参数:-XX:PermSize=128M -XX:MaxPermSize=256M
异常2:CGLIB Enhancement failed:java.lang.OutOfMemoryError: Java heap space
CGLIB Enhancement failed:java.lang.OutOfMemoryError: Java heap space
解决:设置JVM的参数:-Xms128m -Xmx512m
综上所述:
JVM的内存设置参数:-Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M
设置后,系统布署顺利,而且TOMCAT的启动速度和系统运行速度都显著提高。