JAVA8 JVM調優配置參數說明


  Linux操作系統下內存4G,配置JAVA8 JVM:

-server 
-Xms2G 
-Xmx2G 
-Xmn256m 
-XX:MetaspaceSize=512M 
-XX:MaxMetaspaceSize=512M 
-Xss256k 
-XX:+UseConcMarkSweepGC 
-XX:+UseParNewGC 
-XX:+CMSClassUnloadingEnabled 
-XX:+HeapDumpOnOutOfMemoryError 
-verbose:gc 
-XX:+PrintGCDetails 
-XX:+PrintGCTimeStamps 
-XX:+PrintGCDateStamps 
-Xloggc:/appl/gc.log 
-XX:CMSInitiatingOccupancyFraction=75 
-XX:+UseCMSInitiatingOccupancyOnly

參數含義說明:

  • -server:設置JVM使用server模式,server模式啟動慢,運行性能和內存效率高,適用於生產服務器;相對應的有-client模式,client模式啟動速度快,運行性能和內存效率不高,適用於應用開發和調試
  • -Xms2G:設置JVM初始分配的堆內存,默認值為物理內存的1/64,建議修改為與-Xmx一致
  • -Xmx2G:設置JVM最大允許使用的堆內存,默認值為物理內存的1/4,建議修改為物理內存的2/3-1/4。
  • -Xmn256m:設置JVM年輕代的大小,建議不要太大,過大可能會導致YGC時間過長,影響吞吐量
  • -Xss256k:設置JVM中每個JAVA線程堆棧的大小,一般默認512~1024kb,建議值設置在默認范圍內
  • -XX:MetaspaceSize=512M:設置JVM初始元空間大小,JAVA8以上才有該字段。當達到該值將觸發垃圾收集進行類型卸載。同時,如果釋放了大量的空間,GC將適當降低該值;如果釋放了很少的空間,GC則會在不超過MaxMetaspaceSize時,適當提高該值。由於GC每次調整元空間的代價很昂貴,因此建議該值與MaxMetaspaceSize一致
  • -XX:MaxMetaspaceSize=512M:設置JVM初始元空間最大值
  • -XX:+UseParNewGC:設置JVM開啟並發串行垃圾收集器,該收集器與CMS收集器配合工作。相對應的還有:UseParallelGC並行垃圾收集器,該收集器最大化的提高程序吞吐量,同時縮短程序停頓時間,但不與CMS收集器配合工作
  • -XX:+UseConcMarkSweepGC:設置JVM開啟並發標記清除收集器,即開啟CMS收集器,一般和 XX:+UseParNewGC 一起設置使用
  • -XX:+CMSClassUnloadingEnabled:設置JVM中CMS收集器對元空間(永久代)進行回收
  • -XX:+HeapDumpOnOutOfMemoryError:設置JVM發生OOM時,自動生成DUMP文件。
  • -XX:HeapDumpPath=./java_heapdump.hprof:設置JVM生成DUMP文件的路徑,也可以指定文件名稱,例如:-XX:HeapDumpPath=./java_heapdump.hprof,如果不指定文件名,默認為:java_<pid><date><time>_heapDump.hprof。
  • -verbose:gc:設置JVM輸出GC日志 , -XX:+PrintGC 與 -verbose:gc 是一樣的,可以認為-verbose:gc 是 -XX:+PrintGC的別名.
  • -XX:+PrintGCDetails:設置JVM打印GC詳細信息
  • -XX:+PrintGCTimeStamps:設置JVM打印gc時間戳(以基准時間的形式)
  • -XX:+PrintGCDateStamps:設置JVM打印GC的時間戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)
  • -Xloggc:/appl/gc.log:設置JVM打印GC日志目錄
  • -XX:CMSInitiatingOccupancyFraction=75:設置CMS收集器在對內存占用率達到75%的時候開始GC(因為CMS會有浮動垃圾,所以一般都較早啟動GC);
  • -XX:+UseCMSInitiatingOccupancyOnly:設置CMS收集器只使用設定的回收閾值(上面指定的75%),如果不指定,JVM僅在第一次使用設定值,后續則自動調整


免責聲明!

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



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