内存溢出--java.lang.OutOfMemoryError: PermGen space

本文介绍了Java程序运行时出现的PermGen Space错误的原因及其解决办法。PermGen Space是JVM用于存放Class和Meta信息的内存区域。当Class数量过多时容易导致此错误。文章提供了具体的配置调整步骤。

1.问题描述:执行项目时出现这个错误java.lang.OutOfMemoryError: PermGen space

2.PermGen space介绍:

PermGen space的全称是Permanent Generation space ,是指内存的永久保存区域。这块内存主要是JVM(Java虚拟机)存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中。GC(垃圾回收)不会在主程序运行期对PermGen space 进行清理,所以如果你的应用中有很多Class的话,就很可能出现PermGen space 错误, 

Permanent [ˈpɜrmənənt]:永久的

GC:垃圾回收

JVM:Java虚拟机。所有Java程序都要在虚拟机中运行。

3.解决方法:

曾试过修改tomcat/bin/catalina.sh和tomcat/bin/catalina.bat和myeclipse.ini没有作用

方法:Window->Preferences->在搜索框中输入tom(或tomcat)->找到自己用的Tomcat(如Tomcat 6.x)->找到它下面的JDK->在右边的Optional Java VM arguments(可选的java虚拟机参数):下面的方框中输入如下配置->

-server -Xms256m -Xmx1024m -XX:MaxNewSize=256m -XX:PermSize=64M -XX:MaxPermSize=128M

->然后点击Apply在点击OK就行了,最后重新运行项目


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值