linux設置jvm
⑴ linux啟動內存參數
啟動參數共分為三類;
其一是標准參數(-),所有的JVM實現都必須實現這些參數的功能,而且向後兼容;
其二是非標准參數(-X),默認jvm實現這些參數的功能,但是並不保證所有jvm實現都滿足,且不保證向後兼容;
其三是非Stable參數(-XX),此類參數各個jvm實現會有所不同,將來可能會隨時取消,需要慎重使用;
本文主要描述標准參數部分,剩下的兩個部分將會陸續推出;
標准參數列表如下:
-client
設置jvm使用client模式,特點是啟動速度比較快,但運行時性能和內存管理效率不高,通常用於客戶端應用程序或者PC應用開發和調試。
-server
設置jvm使server模式,特點是啟動速度比較慢,但運行時性能和內存管理效率很高,適用於生產環境。在具有64位能力的jdk環境下將默認啟用該模式,而忽略-client參數。
-agentlib:libname[=options]
用於裝載本地lib包;
其中libname為本地代理庫文件名,默認搜索路徑為環境變數PATH中的路徑,options為傳給本地庫啟動時的參數,多個參數之間用逗號分隔。 在Windows平台上jvm搜索本地庫名為libname.dll的文件,在linux上jvm搜索本地庫名為libname.so的文件,搜索路徑環 境變數在不同系統上有所不同,比如Solaries上就默認搜索LD_LIBRARY_PATH。
比如:-agentlib:hprof
用來獲取jvm的運行情況,包括CPU、內存、線程等的運行數據,並可輸出到指定文件中;windows中搜索路徑為JRE_HOME/bin/hprof.dll。
-agentpath:pathname[=options]
⑵ 在linux中怎麼安裝jvm
Linux安裝JDK步驟1. 先從網上下載jdk(jdk-1_5_0_02-linux-i586.rpm)
,推薦SUN的官方網站www.sun.com,下載後放在/home目錄中,當然其它地方也行。
進入安裝目錄
#cd /home
#cp jdk-1_5_0_02-linux-i586.rpm /usr/local
#cd /usr/local
給所有用戶添加可執行的許可權
#chmod +x jdk-1_5_0_02-linux-i586.rpm.bin
#./jdk-1_5_0_02-linux-i586.rpm.bin
此時會生成文件jdk-1_5_0_02-linux-i586.rpm,同樣給所有用戶添加可執行的許可權
#chmod +x jdk-1_5_0_02-linux-i586.rpm
安裝程序
#rpm -ivh jdk-1_5_0_02-linux-i586.rpm
出現安裝協議等,按接受即可。
Linux安裝JDK步驟2.設置環境變數。
#vi /etc/profile
在最後面加入
#set java environment
JAVA_HOME=/usr/java/jdk-1_5_0_02
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出。
要使JDK在所有的用戶中使用,可以這樣:
vi /etc/profile.d/java.sh
在新的java.sh中輸入以下內容:
#set java environment
JAVA_HOME=/usr/java/jdk-1_5_0_02
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出,然後給java.sh分配許可權:chmod 755 /etc/profile.d/java.sh
Linux安裝JDK步驟3.在終端使用echo命令檢查環境變數設置情況。
#echo $JAVA_HOME
#echo $CLASSPATH
#echo $PATH
4.檢查JDK是否安裝成功。
#java -version
如果看到JVM版本及相關信息,即安裝成功!
⑶ linux怎麼給jvm設置
最大值約為機器內存的一半。
⑷ 我是小白,不懂JAVA!為什麼在linux 里設置JVM參數總是報錯
可以參考一下,Linux系統下手動設置jvm參數。
典型JVM參數設置:
java -Xmx3550m -Xms3550m -Xmn2g -Xss128k
-Xmx3550m:設置JVM最大可用內存為3550M。
-Xms3550m:設置JVM促使內存為3550m。此值可以設置與-Xmx相同,以避免每次垃圾回收完成後JVM重新分配內存。
-Xmn2g:設置年輕代大小為2G。整個堆大小=年輕代大小 + 年老代大小 + 持久代大小。持久代一般固定大小為64m,所以增大年輕代後,將會減小年老代大小。此值對系統性能影響較大,Sun官方推薦配置為整個堆的3/8。
-Xss128k:設置每個線程的堆棧大小。JDK5.0以後每個線程堆棧大小為1M,以前每個線程堆棧大小為256K。更具應用的線程所需內存大小進行調整。在相同物理內存下,減小這個值能生成更多的線程。但是操作系統對一個進程內的線程數還是有限制的,不能無限生成,經驗值在3000~5000左右。
java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0
-XX:NewRatio=4:設置年輕代(包括Eden和兩個Survivor區)與年老代的比值(除去持久代)。設置為4,則年輕代與年老代所佔比值為1:4,年輕代占整個堆棧的1/5
-XX:SurvivorRatio=4:設置年輕代中Eden區與Survivor區的大小比值。設置為4,則兩個Survivor區與一個Eden區的比值為2:4,一個Survivor區占整個年輕代的1/6
-XX:MaxPermSize=16m:設置持久代大小為16m。
⑸ Linux 下怎麼設置JVM heap的大小
JAVA_OPTS 這個是,TOMCAT已經定義好的,名,你只需要將 JAVA_OPTS='-Xms256m -Xmx512m' 這句話,添加到 catalina.bat set JAVA_OPTS='-Xms256m -Xmx512m' catalina.sh JAVA_OPTS='-Xms256m -Xmx512m' 這兩個文件 的開始就可以。
⑹ linux下JVM的參數在哪裡設置
在文件 /etc/profile 最後加上一行
export JAVA_OPTIONS=-Xms512m -Xmx512m
⑺ 64位linux,jvm內存能設多大
要看java的版本,32位的可以設置4G,64位的可以設置更多,不大於物理內存的一半就可以。
⑻ linux中jvm內存不夠怎麼解決
JVM內存設置小了 或者一次性讀的數據過大 例如list vertor 一、內存溢出類型 1、java.lang.OutOfMemoryError: PermGen space JVM管理兩種類型的內存,堆和非堆。堆是給開發人員用的上面說的就是,是在JVM啟動時創建;非堆是留給JVM自己用的,用來存放類的信息的。它和堆不同,運行期內GC不會釋放空間。如果web app用了大量的第三方jar或者應用有太多的class文件而恰好MaxPermSize設置較小,超出了也會導致這塊內存的佔用過多造成溢出,或者tomcat熱部署時侯不會清理前面載入的環境,只會將context更改為新部署的,非堆存的內容就會越來越多。 PermGen space的全稱是Permanent Generation space,是指內存的永久保存區域,這塊內存主要是被JVM存放Class和Meta信息的,Class在被Loader時就會被放到...
⑼ 如何設置JVM參數
設置eclipse jvm參數
打開Eclipse 或者 MyEclipse
打開 Windows -> Preferences -> Java -> Installed JREs
在 Default VM Arguments輸入框內輸入: -Xms512m -Xmx512m
解釋:
-Xms是設置java虛擬機的最小分配內存;-Xmx則是最大分配內存;512m為內存空間
一般-Xmx設置為你電腦物理內存的1/4,而把-Xms和 -Xmx設置為一樣,
其實你可以設置得更大一些,只要系統能分配足夠的內存就可以了,如果設置過大系統會提示你的。