Анализ журналов gc
я использую-XX:+PrintGCApplicationStoppedTime
а также-XX:+PrintGCApplicationConcurrentTime
варианты включения gc logging.
Но обнаружил, что только после 4 0р 5 отпечатковPrintGCApplicationStoppedTime
мои фактические данные о журналах gc напечатаны через-XX:+PrintGCDetails
команда!
По определениюPrintGCApplicationStoppedTime
печатает приложение остановлено время для каждого gc.
Но мне непонятно, почему это печатается как пример, показанный ниже.
Это потому что
PrintGCApplicationStoppedTime
просто печатает после достижения каждой безопасной точки
(или же)
файл журнала будет записываться разными потоками gc. Я использую Concurrent Sweep для полного GC и ParNew для молодого поколения
Мое приложение - это веб-приложение.
O / p Pattern - я получаю вот так:
Application time: 0.3847031 seconds
Total time for which application threads were stopped: 0.3135419 seconds
Application time: 0.1520723 seconds
Total time for which application threads were stopped: 0.1993920 seconds
Application time: 0.1188219 seconds
Total time for which application threads were stopped: 0.1993920 seconds
Application time: 0.1188219 seconds
Total time for which application threads were stopped: 0.1993920 seconds
Application time: 0.1188219 seconds
Total time for which application threads were stopped: 0.1993920 seconds
Application time: 0.1188219 seconds
1.229: [GC 1.229: [ParNew: 256000K->51200K(256000K), 0.1509756 secs] 426536K->334728K(997376K), 0.1510198 secs] [Times: user=0.85 sys=0.07, real=0.15 secs]