2011-03-28 187 views

回答

16
$ export JAVA_OPTS="$JAVA_OPTS -Xmx64M" 
$ groovy 
+0

'無效的最大堆大小:-Xmx = 64M無法創建Java虛擬machine.'我剛纔打破這一切呢? – jonalv 2011-03-28 13:12:05

+2

愚蠢的我..不需要'='..編輯我的答案 – 2011-03-28 13:15:24

1

找到了另一種方法在Windows上執行此操作,而無需修改JAVA_OPTS等。轉到您的Groovy主文件夾並進入bin目錄。如果您通過調用groovy.bat文件來調用Groovy,那麼如果您查看它,您會看到它反過來運行startGroovy.bat。在startGroovy.bat,在腳本的最後幾行,你會發現這樣的事情:

@rem Execute Groovy 
"%JAVA_EXE%" %JAVA_OPTS% -classpath "%STARTER_CLASSPATH%" %STARTER_MAIN_CLASS% --main %CLASS% --conf "%STARTER_CONF%" --classpath "%CP%" %CMD_LINE_ARGS% 

添加XMX開關和內存需要經過%JAVA_OPTS%和-classpath之前分配的,所以你有什麼像這樣:

@rem Execute Groovy 
"%JAVA_EXE%" %JAVA_OPTS% -Xmx256M -classpath "%STARTER_CLASSPATH%" %STARTER_MAIN_CLASS% --main %CLASS% --conf "%STARTER_CONF%" --classpath "%CP%" %CMD_LINE_ARGS% 

現在,當你去跑Groovy中,將-Xmx值將是它使用分配的內存。這種方法的好處在於,無需在每次要更改堆大小時重新加載env變量,並且對Groovy正在使用的JVM執行的操作進行細化控制。

4

已更新:轉到您的Groovy主文件夾並進入bin目錄。在startGroovy.bat,你可以從128MB將它設置爲512MB這樣的:

... 
@rem set GROOVY_OPTS="-Xmx128m" 
set GROOVY_OPTS="-Xmx512m" 
...