JVM 常用參數設置(針對 G1GC)


 ===========================================================

-XX 開頭,這些是 JVM 的所有實現 都支持的 最常用的選項
===========================================================

bool類型的開關選項(+開啟、-關閉)

-XX:+UseG1GC

  使用G1GC
-XX:+PreserveFramePointer  

  使用FP寄存器來保存幀指針,而不是作為通用寄存器。解決了stack不完整的問題
-XX:+PrintGC

  打印簡單GC日志
-XX:+PrintGCDetails

  打印詳細GC日志
-XX:+PrintGCDateStamps

  顯示每次GC的日期時間
-XX:+UseGCLogFileRotation

  GC日志文件循環使用(比如,5個日志文件循環使用)
-XX:+HeapDumpOnOutOfMemoryError 

  可以讓JVM在出現內存溢出時候Dump出當前的內存轉儲快照
-XX:-OmitStackTraceInFastThrow
  關閉棧異常信息快速拋出,從而記錄詳細的棧異常以便跟蹤。

各種配置的鍵值
-XX:MetaspaceSize=128m
  元空間的初始大小,不斷擴容並首次超過這個值時會進行FGC,JVM會動態調整這個值
-XX:MaxMetaspaceSize=256m
  元空間的最大值,超過最大值時會拋異常出來,加載的類越多,元空間使用的內存越多,元空間使用 Native Memory。
-XX:MaxGCPauseMillis=200
  最大GC暫停時間,用戶可以設置這個值,G1GC盡量保證軟實時性
-XX:ParallelGCThreads=4
  最大並行GC線程數
-XX:ConcGCThreads=4
  最大並發GC線程數
-XX:MinHeapFreeRatio=30
  指定空閑堆空間的最小百分比,如果實際空閑堆空間小於此值則需要對堆進行擴容 ,Xmx==Xms 的情況下無效
-XX:MaxHeapFreeRatio=50
  指定空閑堆空間最大百分比 ,如果實際空閑堆空間大於此值則需要對對堆空間進行縮容,Xmx==Xms 的情況下無效
-XX:CICompilerCount=3
-XX:NumberOfGCLogFiles=5
  GC日志文件數,可以設置循環使用
-XX:GCLogFileSize=32M
  每個GC日志文件的默認大小
-XX:HeapDumpPath=/opt/logs/appid
  堆轉儲快照文件保存的路徑
 

===========================================================

-X 開頭,這些選項是特定於 Java HotSpot 虛擬機通用選項
===========================================================
-Xmx6144m
  JVM 最大堆內存
-Xms3686m
  JVM 初始堆內存
-Xss256k
  設置屬於每個線程的棧大小
-Xloggc:/opt/logs/appid/gc.log
  GC日志文件保存的路徑
 

===========================================================

-D開頭,設置系統屬性值(屬性名稱=屬性值)
===========================================================
-Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Dport.http.server=8080
-Dport.shutdown.server=8081
-Ddocbase.server=/opt/app
-Dvdir.server=
-Djava.security.egd=file:/dev/./urandom
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=192.168.0.1
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8780
-Dcom.sun.management.jmxremote.rmi.port=8780
-Dcom.sun.management.jmxremote.local.only=false
-Djdk.tls.ephemeralDHKeySize=2048
-Dignore.endorsed.dirs=
-Dcatalina.base=/opt/tomcat
-Dcatalina.home=/opt/tomcat
-Djava.io.tmpdir=/opt/tomcat/temp
-Djava.util.concurrent.ForkJoinPool.common.parallelism=4


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM