java運行能夠帶的參數

-Xms 最小堆的大小, 也就是當你的虛擬機啓動後, 就會分配這麼大的堆內存給你 
-Xmx 是最大堆的大小 併發

-XX:NewRatio=4:設置年輕代(包括Eden和兩個Survivor區)與年老代的比值(除去持久代)。線程

-XX:SurvivorRatio=4:設置年輕代中Eden區與Survivor區的大小比值。內存

-XX:MaxPermSize=16m:設置持久代大小爲16m。rem

-XX:MaxTenuringThreshold=0:設置垃圾最大年齡。虛擬機

設置垃圾回收器io

  • -XX:+UseParallelGC
  • -XX:ParallelGCThreads=20
  • -XX:+UseParallelGC
  • -XX:MaxGCPauseMillis=100
    • 設置每次年輕代垃圾回收的最長時間,
    • 若是沒法知足此時間,JVM會自動調全年輕代大小,以知足此值。

-XX:+UseAdaptiveSizePolicy配置

  • 自動選擇年輕代區大小和相應的Survivor區比例,
  • 以達到目標系統規定的最低相應時間或者收集頻率等,
  • 此值建議使用並行收集器時,一直打開。

-XX:+PrintGCfile

  • 打印GC信息

常見配置彙總垃圾回收

  1. 堆設置
    • -Xms:初始堆大小
    • -Xmx:最大堆大小
    • -XX:NewSize=n:設置年輕代大小
    • -XX:NewRatio=n:設置年輕代和年老代的比值。如:爲3,表示年輕代與年老代比值爲1:3,年輕代佔整個年輕代年老代和的1/4
    • -XX:SurvivorRatio=n:年輕代中Eden區與兩個Survivor區的比值。注意Survivor區有兩個。如:3,表示Eden:Survivor=3:2,一個Survivor區佔整個年輕代的1/5
    • -XX:MaxPermSize=n:設置持久代大小
  2. 收集器設置
    • -XX:+UseSerialGC:設置串行收集器
    • -XX:+UseParallelGC:設置並行收集器
    • -XX:+UseParalledlOldGC:設置並行年老代收集器
    • -XX:+UseConcMarkSweepGC:設置併發收集器
  3. 垃圾回收統計信息
    • -XX:+PrintGC
    • -XX:+PrintGCDetails
    • -XX:+PrintGCTimeStamps
    • -Xloggc:filename
  4. 並行收集器設置
    • -XX:ParallelGCThreads=n:設置並行收集器收集時使用的CPU數。並行收集線程數。
    • -XX:MaxGCPauseMillis=n:設置並行收集最大暫停時間
    • -XX:GCTimeRatio=n:設置垃圾回收時間佔程序運行時間的百分比。公式爲1/(1+n)
  5. 併發收集器設置
    • -XX:+CMSIncrementalMode:設置爲增量模式。適用於單CPU狀況。
    • -XX:ParallelGCThreads=n:設置併發收集器年輕代收集方式爲並行收集時,使用的CPU數。並行收集線程數。
相關文章
相關標籤/搜索