java.lang.OutOfMemoryError: PermGen space及其解决方法 -- eclipse下的tomcat内存设置大小

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。
【解决办法】:

eclipse下的tomcat内存设置大小

在eclipse中设置,居然可以了,

设置步骤如下:

1.点击eclipse上的debug图标旁边的下拉箭头

2.然后选择Run Configurations,

3.系统弹出设置tomcat配置页面,在Argument中末尾添加参数中的VM arguments中追加:

-Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m

参数的意思
-vmargs:说明后面是VM的参数
-Xms40m:虚拟机占用系统的最小内存
-Xmx256m:虚拟机占用系统的最大内存
-XX:PermSize:最小栈内存大小。一般报内存不足时,都是说这个太小,堆空间剩余小于5%就会警告,建议把这个稍微设大一点,不过要视自己机器内存大小来设置
-XX:MaxPermSize:最大栈内存大小。这个也适当大些
-Xmx512M的5%为25.6M,理论上要求-Xmx的数值与-XX:MaxPermSize必须大于25.6M


猜你喜欢

转载自blog.csdn.net/big_bigwolf/article/details/54945452