Мы обновляем с Java 6 и Tomcat 6 до Java 1.8.0_45 и Tomcat 8.0.23, серверы Linux, 64 бит. Я сравниваю использование памяти, и я сталкиваюсь с странным поведением.Использование сборщика мусора при обновлении с Java 6 + Tomcat 6 до Java 8 + Tomcat 8
Это как Eden Space выглядит с Java 8 в Tomcat 8 без движения, только начал и простаивает:
И вот как это выглядит с Java 6, стандарт для меня:
Оба JVMs настроены таким же образом, в основном:
XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+DisableExplicitGC -Xms768m -Xmx2048m -Xmn400m
с Java 8 и Tomcat 8 незначительного GC является lmost всегда работает и кот журнал показать это:
1301,121: [GC (Allocation Failure) [PSYoungGen: 408960K->352K(409088K)] 1126151K->717559K(1915392K), 0,0093033 secs] [Times: user=0,02 sys=0,00, real=0,01 secs]
Вы знаете, некоторые специальные настройки для виртуальной машины Java 8 или что-то я должен сделать, чтобы иметь такое же поведение, чем раньше?
EDIT:
Через 30 мин, Иден Пространство:
В java-8 Вы можете использовать 'G1GC' вместо' ParallelGC'. Это * может * улучшить вашу производительность. Пошлите «CMS». Кроме того, вы должны установить количество потоков, которые будут использоваться для GC – TheLostMind
, спасибо @TheLostMind, но вопрос в том, почему поведение не такое же, как раньше? –
Вы не должны ожидать подобного поведения в JVM. Слишком много вещей могло измениться, что привело к такому выводу – TheLostMind