Я использую Wildfly 11 с Java 8 на Amazon Linux.Мы устраняем проблему высокой загрузки ЦП и имеем в своем распоряжении инструмент CLI Wildfly.Я заметил, что некоторые из наших потоков Java работают довольно давно, и хотел выяснить, почему.Я нашел идентификатор одного потока и проверил его статус ...
[standalone@localhost:9990 /] /core-service=platform-mbean/type=threading/:get-thread-infos (ids=[2L])
{
"outcome" => "success",
"result" => [{
"thread-id" => 2L,
"thread-name" => "Reference Handler",
"thread-state" => "WAITING",
"blocked-time" => -1L,
"blocked-count" => 48628L,
"waited-time" => -1L,
"waited-count" => 44877L,
"lock-info" => {
"class-name" => "java.lang.ref.Reference$Lock",
"identity-hash-code" => 926576350
},
"lock-name" => "java.lang.ref.Reference$Lock@373a6ede",
"lock-owner-id" => -1L,
"lock-owner-name" => undefined,
"stack-trace" => [],
"suspended" => false,
"in-native" => false,
"locked-monitors" => [],
"locked-synchronizers" => []
}]
}
У меня нет четкого понимания всего, но кажется, что одна проблема - это блокировка - "имя класса"=>" java.lang.ref.Reference $ Lock ".Кто-нибудь знает, как я могу получить больше информации о том, что вызывает блокировку?