『壹』 怎樣修改JVM的默認內存大小值
java雖然是自動回收內存,但是應用程序,尤其伺服器程序最好根據業務情況指明內存分配限制。否則可能導致應用程序宕掉。
-Xms128m:表示JVM Heap(堆內存)最小尺寸128MB,初始分配
-Xmx512m:表示JVM Heap(堆內存)最大允許的尺寸256MB,按需分配。
說明:如果-Xmx不指定或者指定偏小,應用可能會導致java.lang.OutOfMemory錯誤,此錯誤來自JVM不是Throwable的,無法用try...catch捕捉。
-XX:PermSize=64MB 最小尺寸,初始分配
-XX:MaxPermSize=256MB 最大允許分配尺寸,按需分配,過小會導致:java.lang.OutOfMemoryError: PermGen space
說明:PermSize和MaxPermSize指明虛擬機為java永久生成對象(Permanate generation)的大小,如,class對象、方法對象這些可反射(reflective)對象分配內存限制,這些內存不包括在Heap(堆內存)區之中。
MaxPermSize預設值和-server -client選項相關。
-server選項下默認MaxPermSize為64m
-client選項下默認MaxPermSize為32m
設置位置在:
Window
->MyEclipse Enterprise WorkBench
->Servers
->JBoss
->JBoss 5.x
->JDk下的Optional Java VM arguments下面。
如:-Xms1024m -Xmx1024m -XX:MaxPermSize=256m
『貳』 如何調整java虛擬機內存大小
1. 設置JVM內存的參數有四個:
-Xmx Java Heap最大值,默認值為物理內存的1/4,最佳設值應該視內物理內存大小及計算容機內其他內存開銷而定;
-Xms Java Heap初始值,Server端JVM最好將-Xms和-Xmx設為相同值,開發測試機JVM可以保留默認值;
-Xmn Java Heap Young區大小,不熟悉最好保留默認值;
-Xss 每個線程的Stack大小,不熟悉最好保留默認值;
2. 如何設置JVM內存分配: 當在命令提示符下啟動並使用JVM時(只對當前運行的類Test生效):
java -Xmx128m -Xms64m -Xmn32m -Xss16m Test
『叄』 如何修改java虛擬機內存
1、普通制java應用程序,使用java命令運行,
java -Xms1024m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -jar
2、tomcat
在catalina.bat的set JAVA_OPTS修改為set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m –server
3、eclipse中運行應用程序
程序右鍵選屬性->run/debug settings->選中應用程序->編輯->Arguments->VM arguments輸入框輸入
-Xms1024m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
4、weblogic
在$DOMAIN_HOME/bin/setDomainEnv.sh修改內存
『肆』 如何設置Java虛擬機JVM啟動內存參數
Tomcat默認的Java虛擬機JVM啟動內存參數大約只有64MB或者128MB,非常小,遠遠沒有利用現在伺服器的強大內存,所以要設置Java虛擬機JVM啟動內存參數。具體設置方法為:
Tomcat修改TOMCAT_HOME/bin/catalina.bat,在[echo Using CATALINA_BASE:
"%CATALINA_BASE%"] 上面加入,比如:
set JAVA_OPTS= -server -Xms1536m -Xmx1536m或者JAVA_OPTS="-server -Xms1536m
-Xmx1536m",
伺服器模式參數-server不加也可以 ,就變成
set JAVA_OPTS= -Xms1536m -Xmx1536m或者JAVA_OPTS=" -Xms1536m -Xmx1536m",
1536m只是舉個例子,具體可以在DOS命令窗口中測試能使用多大的Java虛擬機內存,能顯示JDK/JRE/JVM版本號的就說明能使用命令中設置的Java虛擬機內存,如執行
Java -Xmx1280m -version;
Java -Xmx1408m -version;
Java -Xmx1536m -version;
Java -Xmx1664m -version;
Java -Xmx2048m -version;
比如在下列DOS命令窗口中執行java -Xmx1024m
-version,顯示出JDK/JRE/JVM版本號,說明最大能使用1024MB的Java虛擬機內存:
等等,但是JVM啟動內存參數也不可能無限增大,因為他受限於物理內存和操作系統的限制,Windows操作系統下一般可以使用1.6GB左右的Java虛擬機內存,有些JDK如Jrockit可能最大可達1.9GB左右,此外,Linux、小型機AIX等情況可以較大。