Как узнать текущее количество потоков Tomcat

Как узнать текущее количество потоков Tomcat

На моем сервере Linux я запускаю tomcat от имени root, и при запуске ps auxон выдает следующий вывод.

root     25667  0.1 29.2 4574004 306980 ?      Sl   Apr27  33:57 /usr/local/java/bin/java -Djava.util.logging.config.file...

Есть только родительский процесс, но когда я запускаю, htopя вижу все остальные дочерние процессы (которые являются потоками?). Пример вывода для нескольких строк приведен ниже.

  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command                                                              
25668 root       15   0 4466M  299M 14208 S  0.0 29.3  0:01.23 /usr/local/java/bin/java -Djava.util.logging.config.file=/usr/local/t
25669 root       18   0 4466M  299M 14208 S  0.0 29.3  0:54.84 /usr/local/java/bin/java -Djava.util.logging.config.file=/usr/local/t
25670 root       15   0 4466M  299M 14208 S  0.0 29.3  0:00.25 /usr/local/java/bin/java -Djava.util.logging.config.file=/usr/local/t
25671 root       15   0 4466M  299M 14208 S  0.0 29.3  0:00.54 /usr/local/java/bin/java -Djava.util.logging.config.file=/usr/local/t
25672 root       18   0 4466M  299M 14208 S  0.0 29.3  0:00.00 /usr/local/java/bin/java -Djava.util.logging.config.file=/usr/local/t
25673 root       15   0 4466M  299M 14208 S  0.0 29.3  0:17.96 /usr/local/java/bin/java -Djava.util.logging.config.file=/usr/local/t
25674 root       15   0 4466M  299M 14208 S  0.0 29.3  0:20.01 /usr/local/java/bin/java -Djava.util.logging.config.file=/usr/local/t
25675 root       19   0 4466M  299M 14208 S  0.0 29.3  0:00.00 /usr/local/java/bin/java -Djava.util.logging.config.file=/usr/local/t

Итак, я хочу получить список дочерних процессов с помощью одной команды. Я установил maxThreads на 200 в файле конфигурации и хочу проверить текущее количество потоков, подсчитав дочерние потоки.

решение1

Это достаточно просто сделать:ps -eLf | grep java

Возможно, придется что-то подкорректировать (grep можно усовершенствовать, чтобы получить то, что вы ищете).

решение2

Вы можете запустить:

ps -o nlwp PID

(PID будет идентификатором вашего процесса)

nlwp = количество облегченных процессов

решение3

Если у вас установлен JDK, очень полезным способом мониторинга этого (и различных размеров куч) в реальном времени является jconsole, которая является программой с графическим интерфейсом (если у вас есть javac, у вас также должна быть эта). Есть также такие вещи, как jstatи jinfoи другие. Чтобы воспользоваться преимуществами jconsole, вам может потребоваться включить JMX (это также можно сделать для удаленных подключений). Вам нужно будет запустить эти инструменты от имени того же пользователя, который запускает JVM, которую вы хотите проверить.

Если вы используете topили htop, то вы можете ввести H(заглавную) для переключения отображения потоков. Стоит взглянуть на различные верхние нажатия клавиш.

Связанный контент