Eu configurei o java para despejar informações de coleta de lixo nos logs ( verbose GC ). Não tenho certeza do que significam as entradas de coleta de lixo nos logs. Uma amostra dessas entradas está postada abaixo. Eu pesquisei no Google e não encontrei explicações sólidas.
Tenho alguns palpites razoáveis, mas estou procurando respostas que forneçam definições estritas do que significam os números nas entradas, apoiadas por fontes confiáveis. Um +1 automático para todas as respostas que citam documentação solar. Minhas perguntas são:
- A que PSYoungGen se refere? Presumo que tenha algo a ver com a geração anterior (mais jovem?), Mas o que exatamente?
- Qual é a diferença entre o segundo trio de números e o primeiro?
- Por que um nome (PSYoungGen) é especificado para o primeiro trio de números, mas não para o segundo?
- O que significa cada número (tamanho da memória) no trio. Por exemplo, em 109884K-> 14201K (139904K), é a memória anterior a GC 109884k e então é reduzida para 14201K. Como o terceiro número é relevante? Por que exigiríamos um segundo conjunto de números?
8109.128: [GC [PSYoungGen: 109884K-> 14201K (139904K)] 691015K-> 595332K (1119040K), 0,0454530 s]
8112.111: [GC [PSYoungGen: 126649K-> 15528K (142336K)] 707780K-> 605892K (1121472K), 0,0934560 segs]
8112,802: [GC [PSYoungGen: 130344K-> 3732K (118592K)] 720708K-> 607895K (1097728K), 0,0682690 segundos]