Чтобы выяснить, какой поток потребляет больше ЦП, вы должны собрать данные об использовании ЦП (в RHEL с помощью команды top (top -b -n 1 -H -p JBoss_PID)) и сбросить поток одновременно с отметкой времени при возникновении проблемы. В верхнем выводе команды вы можете идентифицировать идентификаторы процессов для потоков Java, использующих большой процент ЦП. Например, команда output top показывает, что процессор используется тремя потоками Java:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4382 root 25 0 1284m 480m 80m R 39.5 23.7 13:00.64 java
6657 root 25 0 1284m 480m 80m R 39.5 23.7 7:23.10 java
16322 root 25 0 1284m 480m 80m R 19.8 23.7 57:51.77 java
Используя инструмент анализатора дампов потока (TDA), вы можете загрузить дампы потоков, собранные с данными ЦП. Нажмите на столбец Native-ID в верхней правой панели, чтобы отсортировать по собственному идентификатору потока и дать перекрестную ссылку на облегченные идентификаторы потоков из верхнего вывода, чтобы увидеть потоки, потребляющие высокую загрузку ЦП.