У меня проблема с недавним переходом клиента на Linux (64-битную версию) при запуске процесса Java.
Этот процесс порождает тысячи потоков, большинство из которых имеют идентификатор futex.Я посмотрел futex (быстрый мьютекс в пользовательском пространстве), и это конструкция Linux для реализации базовой блокировки.
Код недавно был изменен для реализации BlockingQueue и ExecutorService для порождения дочерних потоков, но число дочерних потоков равноконтролируется настройкой конфигурации, и я могу доказать, что этот конкретный механизм не выходит из-под контроля.Я могу только предположить, что что-то внутреннее в JVM порождает все эти потоки из-за BlockingQueue и некоторой блокировки?
Так может кто-нибудь сказать мне, как узнать, что эти потоки на самом деле и что я мог бы сделать, чтобы контролировать/ остановить их?
Ниже несколько строк списка процессов;фактический список до того, как процесс должен был быть уничтожен, имел длину более 13000 строк.
0 - 54321 447 446 1 - - - 5953085 -?00:15:50 java
0 S 54321 - - 0 82 2 - - futex_ - 00:00:00 -
1 S 54321 - - 0 82 2 - - futex_ - 00:00:00 -
1 S 54321 - - 0 82 2 - - futex_ - 00:00:00 -
1 S 54321 - - 0 82 2 - - futex_ - 00:00:00 -
1 S 54321 - - 0 822 - - futex_ - 00:00:00 -
1 S 54321 - - 0 82 2 - - futex_ - 00:00:00 -
1 S 54321 - - 0 82 2 - - futex_ - 00:00: 00 -
1 S 54321 - - 0 82 2 - - futex_ - 00:00:00 -
Любые предложения с благодарностью принимаются.