Я использую ParallelOldGC
в качестве сборщика мусора в своем приложении. Максимальный размер кучи установлен как 2 ГБ и работает с обновлением горячей точки Java 6, 27.
Мое приложение создает так много объектов с длительным сроком службы, из-за которых старое пространство заполнилось. Таким образом, в соответствии с алгоритмом параллельного GC, полный GC запускается, когда старое пространство почти заполнено. Поскольку размер кучи составляет 2 ГБ, поэтому для очистки старого пространства сборщику требуется более 100 секунд, что неприемлемо.
Я думаю установить порог для старого пространства, скажем, 30, чтобы, когда старое пространство заполнялось на 30%, вызывался полный сборщик мусора, поскольку это решение увеличит количество полных сборщиков мусора, но уменьшит время паузы приложения.
Я заметил, что CMS содержит такое средство с XX:CMSInitiatingOccupancyFraction
, но из-за некоторого недостатка CMS не может переключиться на CMS. Так есть ли какое-либо средство для установки в ParallelOldGC
Заранее спасибо.