В последние несколько дней я столкнулся с некоторыми проблемами Full Gc на моем сервере приложений RedHat Linux без какой-либо нагрузки, и образец gclog показан ниже.
2012-02-24T10: 37: 35.359 + 0530: 1194221.789: [Полная GC 1194221.789: [Срок действия: 1075903K-> 1075903K (1075904K), 2,6399480 секунд] 1560050K-> 1211377K (1560064K), [Perm: 143373K-> 14163373K (14163373K) )], 2,6400630 секунд] [Время: пользователь = 2,63, системное = 0,01, реальное = 2,64 секунды] 2012-02-24T10: 37: 47.452 + 0530: 1194233.883: [Полный GC 1194233.883: [Срок хранения: 1075903K-> 1075903K (1075904K) , 2,7868630 секунд] 1559508K-> 1215479K (1560064K), [Пермь: 143380K-> 143380K (143616K)], 2,7869970 секунд] [Times: user = 2,79 sys = 0,00, real = 2,79 секунды]
Записи в Console.log при использовании тупого потока показаны ниже
Heap def нового поколения всего 484160K, использовано 307665K [0x826a0000, 0xa33f0000, 0xa33f0000)
eden space 430400K, 71% занят [0x826a0000, 0x95314460, 0x9caf0000)
из космоса 53760K, использовано 0% [0x9caf0000, 0x9caf0000, 0x9ff70000)
на пространство 53760K, использовано 0% [0x9ff70000, 0x9ff70000, 0xa33f0000)
общее количество зарезервированных поколений 1075904K, использовано 1075904K [0xa33f0000, 0xe4ea0000, 0xe4ea0000)
пространство 1075904K, использовано 100% [0xa33f0000, 0xe4ea0000, 0xe4ea0000, 0xe4ea0000)
уплотнение общее количество 137728K, использовано 137662K [0xe4ea0000, 0xed520000, 0xf4ea0000)
пространство 137728K, использовано 99% [0xe4ea0000, 0xed50fae0, 0xed50fc00, 0xed520000)
Общие пространства не настроены.
Пожалуйста, дайте мне несколько советов по мониторингу gclog и дайте базовые знания о Full GC. Также, пожалуйста, предложите какой-нибудь документ или ссылку на учебник, чтобы полностью понять эту концепцию. И также скажите мне, какие параметры мне нужно посмотреть, прежде чем увеличивать размер кучи. . ???
Сборка мусора - это не «проблема», это основная функция Java.
Это выполняется периодически, даже если нет активности - и да, полный сборщик мусора занимает много времени, но именно поэтому это происходит только раз в час или около того.
Увидеть официальная документация Oracle / Sun для J2SE для получения подробной информации о том, как это работает и как его настроить