Ggts OutOfMemoryError

时间:2014-05-02 21:40:15

标签: java grails error-handling out-of-memory

我有一个由另一个程序员开发的应用程序,我必须在我的PC上本地运行grails 2.3.8,所以我通过gvm安装grails,我安装了ggts并导入了我的程序,但是在编译时我得到以下内容错误:

Fatal Error during compilation org.apache.tools.ant.BuildException: java.lang.OutOfMemoryError: Java heap space (Use - stacktrace to see the full trace) 

我的电脑有8GB的内存,我试图按如下方式更改过滤器GGTS.ini:

-startup
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20140116-2212
-product
org.springsource.ggts.ide
--launcher.defaultAction
openFile
-vmargs
-Dgrails.console.enable.interactive=false
-Dgrails.console.enable.terminal=false
-Djline.terminal=jline.UnsupportedTerminal
-Dgrails.console.class=grails.build.logging.GrailsEclipseConsole
-Dosgi.requiredJavaVersion=1.6
-Xms1024m
-Xmx2048m
-XX:PermSize=4096m
-XX:MaxPermSize=6144m
-XX:+UseParallelGC
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Xdock:icon=../Resources/ggts.icns

这是正确的设置吗?有没有其他方法来解决这个错误?

无论如何,谢谢大家。

1 个答案:

答案 0 :(得分:2)

Simo,看看以下设置。

1.确保您的GGTS.INI文件未被触及,因为您已经安装了gvm,这些人符合这种安装。请看,如果您之前安装了任何STS并检查您的STS.ini与GGTS.INI在您的问题上发布了。有些时间增加数字并不能解决问题,只需将其粘贴到原始设置,然后调整: )。

检查此设置可能是:

grails.project.fork = [
   test: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, daemon:true], // configure settings for the test-app JVM
   run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256], // configure settings for the run-app JVM
   war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256], // configure settings for the run-war JVM
   console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256]// configure settings for the Console UI JVM
]

2.正如dmahapatro所说导出java_OPTS设置。如果你在Linux命令行或widows环境变量:

 export JAVA_OPTS="-XX:MaxPermSize=512m" //you can omit this if u want
 export GRAILS_OPTS="-server -Xmx512M -XX:MaxPermSize=512m -Dfile.encoding=UTF-8"
 grails run-app

3.要查看 jvm 尝试此类设置的设置:

ps aux | grep java | less

4.工作STS.INI设置的示例

-vm
/usr/share/java/jdk1.6.0_30/bin/java
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.XXMaxPermSize
384M
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120913-144807
-product
org.springsource.sts.ide
--launcher.defaultAction
openFile
-vmargs
-Xmn128m
-Xss1m
-XX:PermSize=128m
-Dgrails.console.enable.interactive=false
-Dgrails.console.enable.terminal=false
-Djline.terminal=jline.UnsupportedTerminal
-Dgrails.console.class=grails.build.logging.GrailsEclipseConsole
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx4096m
-XX:MaxPermSize=512m

//在环境settings.try上没有GRAILS_OPT和JAVA_OPT来重置它。

快乐编码:)