Cómo encontrar el número de subprocesos actual de Tomcat

Cómo encontrar el número de subprocesos actual de Tomcat

En mi servidor Linux ejecuto Tomcat como root y cuando ps auxlo ejecuto da el siguiente resultado.

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

Solo hay un proceso principal, pero cuando lo ejecuto htoppuedo ver todos los demás procesos secundarios (¿cuáles son subprocesos?). Salida de muestra para algunas líneas que se muestran a continuación.

  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

Entonces quiero obtener la lista de procesos secundarios con un solo comando. Configuré maxThreads en 200 en el archivo de configuración y quiero verificar el recuento de subprocesos actual contando los subprocesos secundarios.

Respuesta1

Bastante fácil de hacer:ps -eLf | grep java

Es posible que tenga que realizar ajustes (grep se puede perfeccionar para obtener lo que está buscando).

Respuesta2

Puedes lanzar:

ps -o nlwp PID

(PID será el pid de su proceso)

nlwp = número de procesos ligeros

Respuesta3

Si tiene un JDK instalado, una forma muy útil de monitorear esto (y los distintos tamaños de montón) en tiempo real es jconsole, que es un programa GUI (si lo tiene javac, también debería tenerlo). También hay cosas como jstaty jinfoy otras. Para beneficiarse de jconsole, es posible que necesite habilitar JMX (esto también se puede hacer para conexiones remotas). Deberá ejecutar estas herramientas como el mismo usuario que ejecuta la JVM que desea inspeccionar.

Si está utilizando topo htop, puede escribir H(mayúscula) para alternar la visualización de los hilos. Vale la pena observar las distintas pulsaciones de teclas principales.

información relacionada