使用G1垃圾收集器是否意味著不需要進行虛擬機性能調優?

rt


顯然不是。使用G1 GC在某些使用範圍內可以只設置 -XX:MaxGCPauseMillis=& 來指定預期的最大GC暫停目標,然後剩下的事情讓GC自己調整。但目前版本來說,實際使用中可能還是得多設一些參數來具體調優。

先放倆傳送門:

  • Getting Started with the G1 Garbage Collector

  • Garbage First Garbage Collector Tuning

去年年底Monica大媽來我們公司做過一次比較新的演講,可惜錄像還沒公開發布,這裡先放個活動鏈接備份:Silicon Valley Java Performance Meetup


需要的。

總結幾個G1垃圾收集器重要調優參數(大致按重要性排序)

-XX:+UseG1GC

-Xmx& -Xms&

-XX:MaxGCPauseMillis=&

-XX:InitiatingHeapOccupancyPercent=&<%&>

-XX:+PrintGCDetails

-XX:+PrintAdaptiveSizePolicy

-XX:G1HeapRegionSize

-XX:+PrintReferenceGC

-XX:+ParallelRefProcEnabled

-XX:ParallelGCThreads=n

-XX:ConcGCThreads=n

-XX:G1MixedGCCountTarget=n

也推薦一篇Monica文

Tips for Tuning the Garbage First Garbage Collector

以上。


如果不需要,那為啥還提供那麼多參數?


推薦閱讀:

Parallels Desktop 10 使用效果如何?
GC 和虛擬機是兩個一定要放在一起的概念嗎?
QEMU 開源模擬器有哪些實用?
虛擬機的cpu架構是什麼樣的?
虛擬機的系統和程序能判斷出自己是運行在虛擬機上的么?

TAG:Java | Java虛擬機JVM | 虛擬機 | Java編程 | GC垃圾回收計算機科學 |