Я ищу аргументы относительно того, как наилучшим образом изменить молодое поколение (в отношении старого поколения) в среде, где низкая латентность имеет решающее значение.
Мое собственное тестирование, как правило, показывает, что латентность является самой низкой, когда молодое поколение довольно велико (например, -XX: NewRatio < 3), однако я не могу примирить это с интуицией, что чем больше молодое поколение, тем больше времени следует взять на сбор мусора.
Приложение запускается на 64-битных Linux, jdk 6.
Использование памяти составляет около 50 мегабайт долгоживущих объектов, загружаемых при запуске (= кеш данных), и оттуда создается только (много) очень коротких объектов (со средней продолжительностью жизни < 1 миллисекунды).
Некоторый цикл сбора мусора занимает более 10 миллисекунд для запуска... который выглядит очень непропорциональным по сравнению с задержкой приложения, что также составляет несколько миллисекунд при максимальном размере.