В чем разница между строками журнала Java GC? («Общее время, за которое ...» против «[GC») - PullRequest
2 голосов
/ 17 сентября 2010

Версия Java: 1.6.0_20

Я вижу следующее в своих журналах и пытаюсь выяснить разницу между первой и последующими строками.Насколько я знаю, они оба имеют незначительное отношение к ГХ, однако между ними нет взаимно-однозначного отношения, как это обычно бывает в других уроках по ГХ, которые я читал.Я знаю, как интерпретировать первую строку, и вторая также довольно очевидна, но в чем разница между этими двумя событиями?

30171.470: [GC 30171.470: [ParNew: 32704K->64K(32704K), 0.0055740 secs] 1575471K->1545444K(3145664K), 0.0056610 secs] [Times: user=0.04 sys=0.00, real=0.01 secs]
Total time for which application threads were stopped: 0.0060020 seconds
Total time for which application threads were stopped: 0.0003300 seconds
Total time for which application threads were stopped: 0.0000740 seconds
Total time for which application threads were stopped: 0.0002630 seconds
Total time for which application threads were stopped: 0.0002640 seconds
Total time for which application threads were stopped: 0.0000760 seconds
... Snipped 35 similar lines ...
Total time for which application threads were stopped: 0.0006710 seconds
Total time for which application threads were stopped: 0.0000870 seconds
Total time for which application threads were stopped: 0.0002710 seconds
Total time for which application threads were stopped: 0.0000770 seconds
Total time for which application threads were stopped: 0.0002810 seconds
Total time for which application threads were stopped: 0.0002680 seconds
Total time for which application threads were stopped: 0.0000770 seconds
30289.137: [GC 30289.137: [ParNew: 32704K->63K(32704K), 0.0063990 secs] 1578084K->1548229K(3145664K), 0.0064890 secs] [Times: user=0.04 sys=0.00, real=0.01 secs]

Спасибо за вашу помощь!

1 Ответ

2 голосов
/ 17 сентября 2010

Сообщения "... application threads .." контролируются PrintGCApplicationStoppedTime.Всякий раз, когда JVM достигает конца операции safepoint , она проверяет, должна ли она выводить на печать, как долго приложение было остановлено во время этой операции.в том, что это не имеет никакого отношения к GC.Например, если вы также запускаете с флагом PrintSafepointStatistics, вы, скорее всего, увидите, что большинство операций с виртуальными машинами выполняются RevokeBias.Операции, связанные с GC, будут называться как GenCollectForAllocation.

...