jvm啓動參數整理

1. 雜項java

    -classpath your_dir : 指定目錄,jvm將會默認加載該目錄下的類apache

    -Djava.library.path=library_dir : 指定java的JNI相關文件dll的位置tomcat

    -server : jvm將會以server模式啓動應用,啓動較慢,性能較好服務器

    -client : jvm將會以client模式啓動應用,啓動較快,性能較差session

    -Dsun.rmi.transport.tcp.responseTimeout=20000 : 設定RMI請求超時時間併發

    -Dcom.sun.management.jmxremote : 支持遠程經過jmx的方式監控應用資源less

    -Dcom.sun.management.jmxremote.port=9999 : 遠程RMI使用JMX時的監聽端口jvm

    -Dcom.sun.management.jmxremote.ssl=false : 遠程RMI使用JMX時不使用SSL協議tcp

    -Dcom.sun.management.jmxremote.authenticate=false : 遠程RMI使用JMX時不須要驗證信息性能

    -Djava.util.logging.config.file=properties_dir: 指定java自帶的日誌系統的配置文件

    -Djava.util.logging.manager=manager_package: 指定自帶的日誌管理系統的管理器

    -Dsun.rmi.dgc.client.gcInterval=3600000 : jvm默認會每小時調用一次system.gc(),經過該參數調整client模式下定時觸發gc的時間間隔

    -Dsun.rmi.dgc.server.gcInterval=3600000 : 同上,server模式時的參數

    -Djava.endorsed.dirs=your_dir : 指定目錄,在該目錄下的libraries將會覆蓋系統提供的libraries,部分系統API沒法覆蓋

    -Djava.awt.headless=true : 代表服務器在缺乏鍵盤,鼠標,顯示器等外設的狀況下運做,涉及到圖片處理相關功能的服務器通常須要增長該參數

    -Dorg.apache.catalina.SESSION_COOKIE_NAME : 指定tomcat識別session的key,默認爲jsessionid,防止多應用下的session衝突

 

 

2. gc日誌相關

    -verbose:gc : 輸出jvm的gc的詳細狀況

    -XX:+PrintGCDetails : 記錄GC運行時的詳細數據信息,包括新生佔用的內存大小及消耗時間

    -XX:+PrintGCTimeStamps : 打印GC的時間戳

    -Xloggc:filename : 指定GC數據的存儲文件

    -XX:+UseGCLogFileRotation : 啓用GC日誌文件的自動轉儲

    -XX:GCLogFileSize=1m : 控制GC日誌文件的大小

 

 

3. 堆相關

    -Xms2g : 設置Jvm堆的初始大小爲2g

    -Xmx2g : 設置jvm堆的最大值爲2g

    -Xmn1g : 設置年輕代大小爲1g

    -Xss512k : 設置jvm線程棧大小爲512k,默認1M

    -XX:PermSize=128m : 設定jvm持久代的初始值爲128m,1.8後持久代被刪除  

    -XX:MaxPermSize=128m : 設置持久代的最大值爲128m,1.8後持久代被刪除

    -XX:NewRatio=4 : 設置老年代和年輕代的比值爲4 : 1,公式 X : 1

    -XX:SurvivorRatio=4 : 設置年輕代中兩個 s 區與 e 區的比值,4表明兩個 s 區和 e 區大小比值爲 1 : 1 : 4,公式 1 : 1 : X

    -XX:MaxTenuringThreshold=0 : 設置對象在年輕代中的年齡,值爲0時,對象不通過 s 區直接進入老年代,該參數只有在串行GC時纔有效

    -XX:+DisableExplicitGC : 禁止代碼顯示調用system.gc()方法,使用該參數須要嚴格測試,特別是使用NIO的狀況下,容易形成OOM,慎用

    -XX:+CollectGen0First : 執行FULL GC以前,是否先YGC,默認false

    -XX:PretenureSizeThreshold=1024 : 對象超過必定大小以後,直接分配在老年代,單位:字節

    -XX:+UseParallelGC : 使用並行垃圾收集器

    -XX:+UseParNewGC : 設置年輕代爲並行收集

    -XX:+UseParallelOldGC : 設置老年代爲並行收集

    -XX:ParallelGCThreads=123 : 並行收集器的線程數

    -XX:-UseConcMarkSweepGC : 使用併發標誌掃描收集器

    -XX:-UseSerialGC : 使用串行垃圾收集器    

相關文章
相關標籤/搜索