Eclipse Helios的PermGen space错误的解决办法

运行eclipse3.6 helios的时候,如挂加载的项目比较大,类较多的时候,就容易报"java.lang.OutOfMemoryError: PermGen space" 的错误,然后整个eclipse就死掉了,尤其是在加载web项目做JSP预编译的时候更容易报错。

PermGen space是保存类对象和方法的放射元数据的一块内存区域。解决办法就是在eclipse启动的时候加大这块内存区域。

修改eclipse.ini加入以下两行:
-XX:PermSize=128M
-XX:MaxPermSize=128M


从网上的资料看PermSize大一点肯定更好,而且最好是设置PermSize和MaxPermSize一样大。理由如下:
PermSize 和MaxPermSize如果设置为相同还可以在一定程度上提高性能,因为,PermSize在不断的变化中会需要转移其中的数据。如果固定了以后,则可以减少每次扩大PermSize带来的性能损失。

评论

  1. 这应该是一个bug,Orale 修改 VM 名称而造成的。可以参看下面的链接。
    https://bugs.eclipse.org/bugs/show_bug.cgi?id=319514

    回复删除
  2. I solved problem running with following args (default Runtime Environment 1.6.0_20 on 64 bit linux):

    ./eclipse\ helios vm /opt2/bea/jdk160_05/bin/java -vmargs -XX:MaxPermSize=128m -Xms128m -Xmx512m

    回复删除

发表评论

此博客中的热门博文

SSH代理使用说明

BuyVM黑掉了

PhotonVPS的Xen VPS性能