如何查找Tomcat当前线程数

jdi*_*ver 2 tomcat

在我的 Linux 服务器上,我以 root 身份运行 tomcat,当我运行ps aux它时,会给出以下输出。

root     25667  0.1 29.2 4574004 306980 ?      Sl   Apr27  33:57 /usr/local/java/bin/java -Djava.util.logging.config.file...
Run Code Online (Sandbox Code Playgroud)

只有父进程,但是当我运行时,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
Run Code Online (Sandbox Code Playgroud)

所以我想用一个命令获取子进程列表。我在配置文件中将 maxThreads 设置为 200,并希望通过计算子线程来检查当前线程数。

Nat*_*n C 7

很容易做到: ps -eLf | grep java

可能需要调整(可以对 grep 进行细化以获得您要查找的内容)。


小智 5

您可以启动:

ps -o nlwp PID
Run Code Online (Sandbox Code Playgroud)

(PID 将是您的进程的 pid)

nlwp = 轻量级进程数