У нас проблема с производительностью JVM на одной из наших хост-машин.
Хост-машина состоит из 16 процессорных ядер, 16 ГБ ОЗУ, Windows Server 2012 - хост-ОС.JVM - 1,8 131, Xmx - 10 ГБ, но для нормальной работы достаточно 2-3 ГБ, а потребление редко увеличивается.Приложение использует все ядра, но загрузка процессора очень низкая - максимум 15%.Низкая активность GC.
То же приложение с той же конфигурацией, работающее на других хостах, не имеет проблем с производительностью и легко потребляет больше 2-3 ГБ ОЗУ и ЦП по мере необходимости.
Но на этом конкретномХост приложение перестало отвечать на запросы, когда начинается некоторая загрузка.У нас есть предопределенные размеры ядра для нескольких пулов потоков, и когда приложение начинает увеличивать эти пулы, создавая новые потоки, оно почти застревает.
Дампы потоков выглядят очень странно.Многие запущенные потоки с java.lang.Thread.setPriority0 () выполняются в течение длительного периода времени.
Как:
"Thread-14592" #676532 daemon prio=3 os_prio=0 tid=0x0000000026852000 nid=0x15a0 runnable [0x000000003737e000]
java.lang.Thread.State: RUNNABLE
at java.lang.Thread.setPriority0(Native Method)
at java.lang.Thread.setPriority(Unknown Source)
at java.lang.Thread.init(Unknown Source)
at java.lang.Thread.init(Unknown Source)
at java.lang.Thread.<init>(Unknown Source)
at java.util.concurrent.Executors$DefaultThreadFactory.newThread(Unknown Source)
at com.util.NamedThreadFactory.newThread(NamedThreadFactory.java:38)
at java.util.concurrent.ThreadPoolExecutor$Worker.<init>(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.addWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.execute(Unknown Source)
at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
...
setPriority0()
может работать в течение пары минуттак что производительность приложения на этом хосте ужасная.
Мы пытались установить -XX: -UseThreadPriorities, но с теми же результатами.
Может ли кто-нибудь дать нам подсказку, на что нам следует обратить внимание, чтобы найти причину описанного поведения?