我試圖理解這個記錄過程中被清除:爲什麼老一代顯得年輕一代GC
2017-01-19T12:01:11.058+0000: [GC (Allocation Failure) [PSYoungGen: 172192K->1760K(171520K)] 379103K->208719K(521216K), 0.2104413 secs] [Times: user=0.02 sys=0.00, real=0.21 secs]
vmop [threads: total initially_running wait_to_block] [time: spin block sync cleanup vmop] page_trap_count
50409.055: ParallelGCFailedAllocation [ 392 3 4 ] [ 0 0 0 0 210 ] 0
2017-01-19T12:01:11.268+0000: Total time for which application threads were stopped: 0.2115093 seconds, Stopping threads took: 0.0001451 seconds
讓我介紹我的想法,我知道並請糾正我,如果我錯了:
首先是年輕的一部分:PSYoungGen: 172192K->1760K(171520K)
這意味着年輕一代有171520K的能力,其中172192K是在使用中。結果虛擬機在嘗試分配內存時觸發了一個GC,之後年輕一代被裁減到1760K。
這裏困擾我的是,總共使用了172192K> 171520K。
現在,其他部分:379103K->208719K(521216K)
這意味着老一代有能力521216K只有379103K是在使用中。不知怎的,它下降到208719K?
所以,我的問題是,如果這是年輕一代的收藏,爲什麼老一代會減少使用量?老一代不應該保持不變,或者增加(如果有東西被提升)?我在這裏錯過了什麼?
那麼年輕一代的使用量/總體尺寸是多少?