GC日誌參數

多種方法都能開啓GC的日誌功能,其中包括:使用-verbose:gc或-XX:+PrintGC這兩個標誌中的任意一個能建立基本的GC日誌(這兩個日誌標誌實際上互爲別名,默認狀況下的GC日誌功能是關閉的)。使用-XX:+PrintGCDetails標誌會建立更詳細的GC日誌。服務器

咱們推薦使用-XX:+PrintGCDetails標誌(這個標誌默認狀況下也是關閉的);一般狀況下使用基本的GC日誌很難診斷垃圾回收時發生的問題。日誌

除了使用詳細的GC日誌,咱們還推薦使用-XX:+PrintGCTimeStamps或者-XX:+PrintGCDateStamps,便於咱們更精確地判斷幾回GC操做之間的時間。這兩個參數之間的差異在於時間戳是相對於0(依據JVM啓動的時間)的值,而日期戳(date stamp)是實際的日期字符串。因爲日期戳須要進行格式化,因此它的效率可能會受輕微的影響,不過這種操做並不頻繁,它形成的影響也很難被咱們感知。字符串

默認狀況下GC日誌直接輸出到標準輸出,不過使用-Xloggc:filename標誌也能修改輸出到某個文件。除非顯式地使用-PrintGCDetails標誌,不然使用-Xloggc會自動地開啓基本日誌模式。使用日誌循環(Log rotation)標誌能夠限制保存在GC日誌中的數據量;對於須要長時間運行的服務器而言,這是一個很是有用的標誌,不然累積幾個月的數據極可能會耗盡服務器的磁盤。io

經過-XX:+UseGCLogfileRotation -XX:NumberOfGCLogfiles=N-XX:GCLogfileSize=N標誌能夠控制日誌文件的循環。默認狀況下,UseGCLogfileRotation標誌是關閉的。開啓UseGCLogfileRotation標誌後,默認的文件數目是0(意味着不做任何限制),默認的日誌文件大小是0(一樣也是不做任何限制)。效率

所以,爲了讓日誌循環功能真正生效,咱們必須爲全部這些標誌設定值。須要注意的是,若是設定的數值不足8 KB的話,日誌文件的大小會以8 KB爲單位規整。date

相關文章
相關標籤/搜索