У меня есть приложение, которое вызывает создание большого количества мусора. Первый (и почти один) критерий - малое время паузы сборки мусора. Я пробую разные параметры GC с помощью инструмента visualgc (и журналов gc). Лучшие параметры приведены ниже.
-XX: + UseConcMarkSweepGC
-Xmx1172M
-Xms600M
-XX: + UseParNewGC
-XX: NewSize = 150M
Мое приложение работает на SunOS 10 с Java 1.6.0_21. Оборудование - это 2 четырехъядерных процессора (результат uname -X: numCPU = 8).
Вопросы:
Наблюдение за поведением сборщика мусора, создание новых объектов в пространстве eden до заполнения eden. Когда выполняется полный сбор мусора в eden space, очистите мусор, если объект не является мертвой копией в Old-gen (я отбрасываю пробелы «от» и «до»), аналогично Old-Gen заполнен, сборщик мусора работает с параллельной фазой CMS и очищает старый -генное пространство. Некоторая часть CMS - это Stop-the-world (время паузы). Это петля.
Спасибо