java - Ggts 内存不足错误

标签 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

这是正确的设置吗?还有其他方法可以解决这个错误吗?

无论如何,谢谢大家。

最佳答案

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

//环境设置中没有 GRAILS_OPT 和 JAVA_OPT。尝试用此重置它。

快乐编码:)

关于java - Ggts 内存不足错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23437393/

相关文章:

PostgreSQL:可以允许错误吗?

Swift Firebase 身份验证 - 有关错误处理的两个问题(我不知道如何命名这些错误)

java - 如何处理构造函数中过多的参数?

java - Spring 一号的 BOF

grails - 从 grails 3.2 升级到 grails 3.3,GrailsDomainClass Api 已弃用

grails - 缓存资源插件无法正常工作?

c# - 使用异常处理(可能改变)库的错误代码

java - 构造函数重载如何工作

java - 提供示例数据来测试 JavaFX GUI

html - CKEditor插件中的最大长度