kafka 啓動shell中jvm的設置:-server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+DisableExplicitGCshell
下面是完整的 G1 的 GC 開關參數列表. 在使用時請記住上面所述的最佳實踐.併發
選項/默認值 | 說明 |
---|---|
-XX:+UseG1GC | 使用 G1 (Garbage First) 垃圾收集器 |
-XX:MaxGCPauseMillis=n | 設置最大GC停頓時間(GC pause time)指標(target). 這是一個軟性指標(soft goal), JVM 會盡可能去達成這個目標. |
-XX:InitiatingHeapOccupancyPercent=n | 啓動併發GC週期時的堆內存佔用百分比. G1之類的垃圾收集器用它來觸發併發GC週期,基於整個堆的使用率,而不僅是某一代內存的使用比. 值爲 0 則表示"一直執行GC循環". 默認值爲 45. |
-XX:NewRatio=n | 新生代與老生代(new/old generation)的大小比例(Ratio). 默認值爲 2. |
-XX:SurvivorRatio=n | eden/survivor 空間大小的比例(Ratio). 默認值爲 8. |
-XX:MaxTenuringThreshold=n | 提高年老代的最大臨界值(tenuring threshold). 默認值爲 15. |
-XX:ParallelGCThreads=n | 設置垃圾收集器在並行階段使用的線程數,默認值隨JVM運行的平臺不一樣而不一樣. |
-XX:ConcGCThreads=n | 併發垃圾收集器使用的線程數量. 默認值隨JVM運行的平臺不一樣而不一樣. |
-XX:G1ReservePercent=n | 設置堆內存保留爲假天花板的總量,以下降提高失敗的可能性. 默認值是 10. |
-XX:G1HeapRegionSize=n | 使用G1時Java堆會被分爲大小統一的的區(region)。此參數能夠指定每一個heap區的大小. 默認值將根據 heap size 算出最優解. 最小值爲 1Mb, 最大值爲 32Mb. |