Я использую параметры -XX:+PrintGCApplicationStoppedTime
и -XX:+PrintGCApplicationConcurrentTime
, чтобы включить ведение журнала gc.
Но обнаружил, что только после 4 0r 5 распечаток PrintGCApplicationStoppedTime
мои фактические данные журналов gc были напечатаны с помощью команды -XX:+PrintGCDetails
!
По определению PrintGCApplicationStoppedTime
печатает время остановки приложения для каждого gc.
Но мне не ясно, почему он печатает, как показано в примере ниже.
Это потому что
PrintGCApplicationStoppedTime
просто печатает после достижения каждой безопасной точки
(or)
файл журнала будет регистрироваться разными потоками gc. Я использую параллельную развертку для полного 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]