Как уменьшить загрузку ЦП для Java 11 с помощью G1GC на GCPJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как уменьшить загрузку ЦП для Java 11 с помощью G1GC на GCP

Сообщение Anonymous »


У меня есть:
[*]многопоточное приложение, низкая задержка [*]64-разрядная серверная виртуальная машина OpenJDK версии 11.0.7+10 [*]конфигурация: Xms=6g Xmx=12g [*]Машина с 12 процессорами. [*]запущен в GCP (Google Cloud Platform) в Kubernetes.
Проблема:
[*]Когда я перехожу с java8 на java11, я наблюдаю ситуацию: приложение потребляет гораздо больше процессора и памяти, чем то же приложение с java8. Я подозреваю, что это GC. потому что когда я использую ParallelGC (устарело), ​​все выглядит лучше (более стабильно)
-XX:+UseParallelGC -Xmx12g -Xms6g -XX:ParallelGCThreads=23

чем когда я использую G1GC (рекомендуется):

-XX:+UseG1GC -Xmx12g -Xms6g -XX:ParallelGCThreads=23 -XX:ConcGCThreads=4

Насколько я вижу, время ответа и количество обработанных сообщений одинаково (или почти одинаково). JConsole сообщает, что ParallelGC тратит гораздо больше времени на сборку мусора, чем на G1GC.
Вопрос: как уменьшить загрузку ЦП с помощью G1GC(?) в GCP Kubernetes
Может быть, проблема не в GC, а может, в чем-то другом – есть советы?

Здесь вы можете увидеть статистику из JConsole: на левом сайте — ParallelGC, на правом — G1GC. (следите за загрузкой ЦП - это одно и то же приложение - трафик аналогичен 22 тыс. сообщений, обработанных ParallelGC, и 18 тыс. сообщений для G1GC)
Изображение

Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»