Я использую Java 5, и нашему пользовательскому серверному приложению требуется настройка сборщика мусора, так как иногда мы наблюдаем 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?