程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Groovy >> Grails1.1和Groovy1.6的Java虛擬機的內存設置和調整

Grails1.1和Groovy1.6的Java虛擬機的內存設置和調整

編輯:Groovy

在這篇文章中,我希望回答下列問題:

.Grails1.1和Groovy1.6的Java虛擬機的內存設置和調整隱藏在哪裡,以及我們如何來改變它們?

.最新的版本和舊的版本之間有什麼不同?

.以上這些設置和調整在windows和linux之間的不同需要我們掌握嗎?

Grails1.1和Grails1.0.2的Java虛擬機的內存設置

如果你運行grails命令,在linux/unix平台,它是執行"$GRAILS_HOME/bin/startGrails"命令;而在windows平台,是執行"$GRAILS_HOME/bin/startGrails.bat"的批處理。這些腳本在linux和windows之間有不同的行為,並且在windows平台上,不同版本之間的設置也不同。

.linux平台的Grails 1.1:即使你設置"$JAVA_OPTS"為不同的數值,但是"server" JVM只有最大為"512 Mb"的堆空間。

. linux平台的Grails 1.02:和上面的情況相同。

.windows平台的Grails 1.1:如果沒有設置"$JAVA_OPTS"參數,那麼使用最大為"512 Mb"的堆空間,並且自動選擇Java虛擬機引擎。

. windows平台的Grails 1.02:如果沒有設置"$JAVA_OPTS"參數,那麼使用最大為"128 Mb"的堆空間,並且自動選擇Java虛擬機引擎。

從我的觀點來看,windows平台的Grails 1.1有著最好的體驗,應該被Linux/Unix平台采納。如果我有很好的理由來設置"$JAVA_OPTS"參數,那麼我不希望它不能被修改。我不知道如果設置"-Xmx512m"和"-Xmx256m"參數,JVM到底會額外做些什麼。但是如果能夠使用前面的參數,那麼使用後面的參數會導致一個錯誤?

所以我在我的Linux系統裡改變了"startGrails"命令,如下:

# comment the old setting

# JAVA_OPTS="-server -Xmx512M $JAVA_OPTS"

# check for $JAVA_OPTS instead:

if [ "$JAVA_OPTS" == "" ]; then

JAVA_OPTS="-server -Xmx512m"

fi

但是必須注意:如果你使用war包發布你的Grails應用到一個應用服務器上,那麼這些內存設置不再有效;取而代之的是,你必須為你的應用設置應用服務器的內存設置。

Groovy1.6 Java虛擬機的內存設置

如果你運行groovy命令,在Linux/Unix平台會執行"$GROOVY_HOME/bin/startGroovy",在Windows平台會執行"$GROOVY_HOME/bin/startGroovy.bat"。這些腳本在Linux和Windows分別不同,但是在各自的平台上,Groovy版本1.6和版本1.5.7卻是相同的。下面是這些不同:

.Linux平台的Groovy1.6:如果設置了"$JAVA_OPTS"的話,就會起作用,JVM的默認設置只有在"$JAVA_OPTS"為空或者沒有設置的情況下起作用。

.Windows平台的Groovy1.6:"$JAVA_OPTS"肯定起作用,如果"$JAVA_OPTS"為空或者沒有設置,那麼最大堆空間為128Mb。

你可以通過設置在"$HOME/.groovy/startup"文件裡的"$JAVA_OPTS"更改所有的Groovy應用的內存設置,不受其他Java應用的影響,這個文件會被startGroovy腳本讀取,如果它存在的話,會被當做一個shell腳本來運行。

在開源的Java應用服務器裡設置JVM內存

Paul Gu在他的blog""裡,不僅列出了在設置堆大小的時候的大量陷阱和錯誤,而且給出了很多關於怎麼找出堆大小和不同的Java應用包括很多開源的Java應用服務器的"$JAVA_OPTS"設置的提示。很多提示都能幫助你在不同的系統發布你的Grails應用,並且能夠調整你的JVM內存設置。

原文網址:http://www.groovygrails.de/blog/groovygrails/entry/grails_1_1_and_groovy

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved