G1 Сборка мусора - повторный полный сборщик мусора - представляет ли это проблему фрагментации кучи / уплотнения мусора?

Я использую Java 7 обновление 76 и сборщик мусора G1.

Периодически мы наблюдаем полные сборщики мусора, возникающие через небольшие промежутки времени (каждые 4-5 секунд), кажется, что память освобождается, но вскоре после этого появляется еще один полный сборщик мусора, который снова освобождает аналогичный объем памяти.

Указывает ли это на проблему фрагментации кучи / сжатия мусора?

Line 21068: 2015-05-27T04:58:38.527+0100: 2792829.022: [Full GC 3987M->236M(4096M), 0.6266670 secs]
Line 21084: 2015-05-27T04:58:46.744+0100: 2792837.238: [Full GC 3901M->237M(4096M), 0.6240680 secs]
Line 21101: 2015-05-27T04:58:51.303+0100: 2792841.797: [Full GC 3991M->238M(4096M), 0.6463980 secs]
Line 21118: 2015-05-27T04:58:55.561+0100: 2792846.055: [Full GC 3903M->238M(4096M), 0.6273730 secs]
Line 21130: 2015-05-27T04:58:59.747+0100: 2792850.241: [Full GC 3901M->238M(4096M), 0.6414350 secs]
Line 21146: 2015-05-27T04:59:04.128+0100: 2792854.623: [Full GC 3902M->237M(4096M), 0.6291800 secs]
Line 21158: 2015-05-27T04:59:08.363+0100: 2792858.857: [Full GC 3902M->239M(4096M), 0.6308080 secs]
Line 21169: 2015-05-27T04:59:12.536+0100: 2792863.031: [Full GC 3814M->240M(4096M), 0.6440340 secs]
Line 21185: 2015-05-27T04:59:18.000+0100: 2792868.495: [Full GC 3905M->239M(4096M), 0.6270340 secs]
Line 21197: 2015-05-27T04:59:22.217+0100: 2792872.711: [Full GC 3902M->239M(4096M), 0.6288050 secs]
Line 21208: 2015-05-27T04:59:26.389+0100: 2792876.883: [Full GC 3902M->239M(4096M), 0.6330140 secs]
Line 21224: 2015-05-27T04:59:30.610+0100: 2792881.104: [Full GC 3904M->239M(4096M), 0.6279680 secs]
Line 21236: 2015-05-27T04:59:34.758+0100: 2792885.253: [Full GC 3813M->239M(4096M), 0.6295690 secs]
Line 21247: 2015-05-27T04:59:38.928+0100: 2792889.422: [Full GC 3903M->239M(4096M), 0.6315110 secs]
Line 21258: 2015-05-27T04:59:43.260+0100: 2792893.754: [Full GC 3814M->240M(4096M), 0.6532740 secs]
Line 21274: 2015-05-27T04:59:49.461+0100: 2792899.955: [Full GC 3993M->239M(4096M), 0.6340010 secs]
Line 21286: 2015-05-27T04:59:53.765+0100: 2792904.260: [Full GC 3903M->240M(4096M), 0.6300460 secs]

До того, как произойдет повторное полное повторное поведение gc, система сможет нормально работать в течение месяца...

2 ответа

Это вряд ли будет специфическая проблема G1 (попробуйте другой сборщик, и то же самое, вероятно, произойдет). У вас очень высокий уровень оттока в вашем приложении. Такие инструменты, как yourkit, очень хороши для выслеживания основных нарушителей.

Я использовал Eclipse MAT и Ваш комплект. Оба хорошие. Несколько моих друзей используют инструмент утечки памяти загрузчика классов. Я слышал много хорошего об этом. Это хорошая статья об этом jar предотвращения утечки памяти загрузчика классов. Обратите внимание:- только с войной.

Другие вопросы по тегам