我正在研究GGTS 3.5和Grails版本2.3.7。当我运行我的项目时,我们面临着堆大小的问题。
Windows 7 32 bit; RAM: 3gb.
Java 1.7 .
我也设置了以下环境变量。
GRAILS_OPTS = -XX:MaxPermSize=1024m -Xmx1024m -server
JAVA_OPTS = -XX:MaxPermSize=1024m -Xmx1024m -server
并在start grails文件中更改了我的GRAILS_OPTS
。但仍面临同样的问题。
我刚刚开始使用java和grails,请帮帮我。提前谢谢了。 错误描述:
Loading Grails 2.3.7
Configuring classpath .
Environment set to development .................................
Packaging Grails application ..........................................
Running Grails
application Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error | Forked Grails VM exited with error
答案 0 :(得分:2)
您可能需要更改BuildConfig中的内存参数
grails.project.fork = [
// configure settings for compilation JVM, note that if you alter the Groovy version forked compilation is required
// compile: [maxMemory: 256, minMemory: 64, debug: false, maxPerm: 256, daemon:true],
// configure settings for the test-app JVM, uses the daemon by default
test: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, daemon:true],
// configure settings for the run-app JVM
run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
// configure settings for the run-war JVM
war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
// configure settings for the Console UI JVM
console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256]
]
答案 1 :(得分:2)
以下方法为我解决了问题
在 GRAILS_HOME \ bin 内,有一个名为 startGrails.bat 的批处理文件
编辑文件并更改提到的Xmx和Xms大小:
set GRAILS_OPTS=-server -Xmx1024M -Xms512M -Dfile.encoding=UTF-8
重启grails。
答案 2 :(得分:0)
对于grails应用程序(在domain子方法内部)中的大量(小)动态groovy代码,也可以减少空闲堆大小。在每个语句上将动态/间接代码更正为局部变量后,堆问题就消失了。