Я настроил Java для сброса информации о сборке мусора в журналы ( подробный сборщик мусора ). Я не уверен, что означают записи о сборке мусора в журналах. Образец этих записей размещен ниже. Я искал в Google и не нашел убедительных объяснений.
У меня есть несколько разумных предположений, но я ищу ответы, которые содержат строгие определения того, что означают числа в записях, и подкреплены надежными источниками. Автоматический +1 ко всем ответам, цитирующим документацию Sun. Мои вопросы:
- Что означает PSYoungGen? Я предполагаю, что это как-то связано с предыдущим (младшим?) Поколением, но что именно?
- В чем разница между второй тройкой чисел и первой?
- Почему имя (PSYoungGen) указано для первой тройки чисел, а не для второй?
- Что означает каждое число (размер памяти) в тройке. Например, в 109884K-> 14201K (139904K) это память перед GC 109884k, а затем она уменьшается до 14201K. Насколько актуален третий номер? Зачем нам нужен второй набор чисел?
8109.128: [GC [PSYoungGen: 109884K-> 14201K (139904K)] 691015K-> 595332K (1119040K), 0,0454530 сек]
8112.111: [GC [PSYoungGen: 126649K-> 15528K (142336K)] 707780K-> 605892K (1121472K), 0,0934560 с]
8112.802: [GC [PSYoungGen: 130344K-> 3732K (118592K)] 720708K-> 607895K (1097728K), 0,0682690 сек]