| |||
|
|
У меня размер кучи управляется диапазонами по размеру, доле живых объектов (примерно соответствует твоему параметру) и доле времени исполнения программы, проведенной в сборщике мусора. Размер меняется только после большой сборки мусора. Диапазоны там для гистерезиса, чтобы не гуляло туда-сюда на границе. И все равно работает не очень хорошо - иногда пухнет слишком быстро, иногда наоборот. Подозреваю, что по существу все эти параметры нужны для предсказания будущего по короткому прошлому, а для моего алгоритма и типичных приложений оно нифига предсказываться не желает. Вместо гладкости явно лезут периодические свойства остатков (типа, размер младшего поколения поделить на аппетит тела цикла). В принципе, наверно, можно все рабочие структуры, зависящие от размера, реаллочить при изменении размера кучи. С этим довольно много траха - например, при существенно разном количестве битов на смещение в куче нужно выбирать разное представление этих структур. Но -Xmx явно скоро умрет. Для нового сборщика G1 в нем мало смысла. Добавить комментарий: |
||||