2012-11-15 97 views
7

我目前看到PROD以下:如何理解完整的GC日誌?

5429.779: [Full GC [PSYoungGen: 13809K->0K(505216K)] [PSOldGen: 253802K->245481K(319488K)] 267612K->245481K(824704K) [PSPermGen: 70059K->70059K(118784K)], 0.5869143 secs] [Times: user=0.59 sys=0.00, real=0.59 secs] 

據我所知,A-> B(C)是指:A,GC之前,B GC,C堆而不終身和燙髮後

我不明白的是片段(全部[] s),這是267612K->245481K(824704K)。它指的是什麼?

回答

3

這是幾代人的總和,意思是實際內存中的堆使用率和總堆大小(大括號中顯示)的總和。

在給出的示例,[PSYoungGen: 13809K->0K(505216K)] [PSOldGen: 253802K->245481K(319488K)] 267612K->245481K(824704K)

13809K + 253802K = 267612K 

0K + 245481K = 245481K 

505216K + 319488K = 824704K 
4

我可以建議你使用的工具,而不是手動讀取日誌。

嘗試HPJmeter工具

我最好找到這個工具。休息有這麼多工具。參考:Know of any Java garbage collection log analysis tools?

通常根據我的經驗,它總是更好使用像上面這樣的工具,它只是導入GC日誌文件&給出了不同世代的詳細圖表。如果你去閱讀手冊,那麼你的時間將比性能分析更多地投入閱讀。