Объяснение отчетов журнала GC Tomcat

Вот выражение из моего файла catalina.out, созданного моим сервером tomcat:

1885.855: [GC [PSYoungGen: 742996K- > 64359K (761472K)] 2509583K- > 1832973K (4116928K), 0.1453610 secs] [Times: user = 0.31 sys = 0.00, real = 0.14 secs]

Может ли кто-нибудь объяснить смысл различных чисел здесь?

1 ответ

Разрыв строки следующий:

1885.85 - это за секунды - это время, в течение которого JVM работает, поэтому около 31 минуты или около того в вашем случае, когда GC состоялся.

[GC - указывает, что GC в этот момент времени. Это частичный GC, иногда он показывает Full GC

Теперь общая куча доступна для JVM = Young + Old

[PSYoungGen:742996K->64359K(761472K) - представляет собой сборщик параллельных поглощений в гене поколений (который является одним из многих типов коллекторов GC, доступных в JVM).

Память, освобожденная GC, всегда имеет шаблон

x->y(z)

x - начальная память до GC, y - память после GC, z - общая памяти, разрешенной для этой области в JVM

поэтому в вашем примере, 742996K->64359K(761472K) - общий размер Юнита - 761 Мб, а когда он достиг 742 Мб, собралась коллекция, и она очистилась до 64.3 Мб то есть он очистился до 678 МБ

2509583K->1832973K(4116928K)

Здесь представлена ​​общая память кучи. Таким образом, из общей возможной кучи 4.1 Гб, когда GC состоялся, он заполнил 2,5 Гб, и он опустился до 1,83 ГБ - снова тот же самый 678 Мб получил то, что было очищено.

0.1453610 secs]

Вся эта операция заняла 0.1453610 секунд

[Times: user=0.31 sys=0.00, real=0.14 secs]

показывает распад пользователя, системы и реальных времен.

Это всего лишь одна строка - вы бы искали шаблон esp, который говорит Full GC в нем И используйте анализатор журналов, например GCViewer, чтобы показать вам пропускную способность и другие полезные вещи.

Также читайте docs from Sun, чтобы получить основы.

Дальнейшее чтение:

http://sujitpal.blogspot.com/2006/08/charting-jvm-garbage-collection.html

Сообщения журнала сборки мусора Java

licensed under cc by-sa 3.0 with attribution.