可以給Java虛擬機器設定使用的記憶體,但是如果你的選擇不對的話,虛擬機器不會補償。可通過命令列的方式改變虛擬機器使用記憶體的大小。如下表所示有兩個參數用來設定虛擬機器使用記憶體的大小。
參數描述
-Xms JVM初始化堆的大小
-Xmx JVM堆的最大值
這兩個值的大小一般根據需要進行設定。初始化堆的大小執行了虛擬機器在啟動時向系統申請的記憶體的大小。一般而言,這個參數不重要。但是有的應用程式在大負載的情況下會急劇地佔用更多的記憶體,此時這個參數就是顯得非常重要,如果虛擬機器啟動時設定使用的記憶體比較小而在這種情況下有許多個物件進行初始化,虛擬機器就必須重複地增加記憶體來滿足使用。由於這種原因,我們一般把-Xms和-Xmx設為一樣大,而堆的最大值受限於系統使用的實體記憶體。一般使用資料量較大的應用程式會使用持久對象,記憶體使用量有可能迅速地增長。當應用程式需要的記憶體超出堆的最大值時虛擬機器就會提示記憶體溢出,並且導致應用服務崩潰。因此一般建議堆的最大值設定為可用記憶體的最大值的80%。
-------------------------------------
Tomcat預設可以使用的記憶體為128MB,在較大型的應用項目中,這點記憶體是不夠的,需要調大。
Windows下,在檔案{tomcat_home}/bin/catalina.bat,Unix下,在檔案{tomcat_home}/bin/catalina.sh的前面,增加如下設定: JAVA_OPTS='-Xms【初始化記憶體大小】 -Xmx【可以使用的最大記憶體】'
需要把這個兩個參數值調大。例如:
JAVA_OPTS='-Xms256m -Xmx512m'
表示初始化記憶體為256MB,可以使用的最大記憶體為512MB。
--------------------------------------
JBoss預設可以使用的記憶體為64MB
$JBOSSDIR$/bin/run.config
JAVA_OPTS = "-server -Xms128 -Xmx512"
--------------------------------------
Websphere 進入控制台去設定(暫略)
--------------------------------------
eclipse
在所在目錄下,鍵入
eclipse.exe -vmargs -Xms256m -Xmx512m
256m表示JVM堆記憶體最小值
512m表示JVM堆記憶體最大
--------------------------------------
引用自http://hi.baidu.com/javahua/blog/item/e15d7f09008139c73ac7634c.html