IDEA启动Jboss项目报错java.lang.OutOfMemoryError: PermGen space

背景:最近MAC上新装了Jboss,在终端中用命令行启动Jboss部署的war包没有问题,但是同样用IDEA启动时,就报异常:java.lang.OutOfMemoryError: PermGen space。

异常就是内存溢出,然后,经过仔细比对发现 JAVA_OPTS打印测日志不同。

 

1.用idea启动报错时,日志如下:

 JAVA_OPTS: -Dprogram.name=run.sh -javaagent:/Users/bianlifeng/Library/Caches/IntelliJIdea2017.1/coverageJars/coverage-agent.jar=/private/var/folders/72/hr4m56jj3n5_xpz463z7xq4h0000gn/T/coverage1args 

 

2.解决错误之后,日志如下:

JAVA_OPTS: -Dprogram.name=run.sh -Xms512m -Xmx512m -Xmn164m -XX:MaxPermSize=250m -XX:ReservedCodeCacheSize=64m -Xverify:none -Xnoclassgc -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=85 -ea

 

问题分析: 

    从打印的日志可以看出,这是启动JVM时参数设置问题, 由于IDEA启动Jboss时,Jboss没有初始化JVM参数或者IEAD把原Jboss的参数给覆盖掉了,才导致出现以上的问题。

 

解决方法:

   在IDEA配置Jboss的页面,输入一下参数即可,初始化JVM启动时的参数。

-Xms512m -Xmx512m -Xmn164m -XX:MaxPermSize=250m -XX:ReservedCodeCacheSize=64m -Xverify:none -Xnoclassgc -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=85 -ea

 

IDEA启动Jboss项目报错java.lang.OutOfMemoryError: PermGen space