Я использую Java 5, и наше пользовательское серверное приложение нуждается в настройке GC, так как иногда мы наблюдаем 15-20 секундную паузу в часы пик. Мы запускаем Java 5 на компьютере серверного класса с аргументами JVM, такими как -server -d64
Есть ли способ узнать, какой алгоритм GC использует JVM в настоящее время?
http://docs.oracle.com/javase/1.5.0/docs/guide/vm/gc-ergonomics.html
На машинах серверного класса, на которых запущена виртуальная машина сервера, сборщик мусора (GC) изменился с предыдущего последовательного сборщика (-XX:+UseSerialGC
) на параллельный сборщик (-XX:+UseParallelGC
). Вы можете переопределить это значение по умолчанию, используя параметр командной строки -XX:+UseSerialGC
для команды java.
1) Я хочу знать, это действительно происходит?
мой следующий вопрос
Я добавил следующее в аргументах командной строки
-verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -Xloggc:logs/gc.log
2) окажут ли они какое-либо влияние на производительность или поведение на работающей JVM, кроме записи журналов GC?