Como encontrar a contagem de threads atual do Tomcat

2

No meu servidor Linux eu executo o tomcat como root e quando eu executo ps aux , ele gera a seguinte saída.

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

Thre é apenas o processo pai, mas quando eu executo htop eu posso ver todos os outros processos filhos (que são threads?). Exemplo de saída para algumas linhas dadas abaixo.

  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

Portanto, quero obter uma lista de processos filho com um único comando. Eu configurei maxThreads para 200 no arquivo de configuração, e quero verificar a contagem atual de threads contando threads filhos.

    
por jdiver 13.05.2014 / 21:38

3 respostas

7

Fácil de fazer: ps -eLf | grep java

Pode ser necessário ajustar (o grep pode ser refinado para obter o que você está procurando).

    
por 13.05.2014 / 21:46
5

Você pode iniciar:

ps -o nlwp PID

(o PID será o pid do seu processo)

nlwp = número de processos leves

    
por 16.09.2014 / 11:42
3

Se você tiver um JDK instalado, uma maneira muito útil de monitorar isso (e os vários tamanhos de heaps) em tempo real é jconsole , que é um programa GUI (se você tiver javac , também deve isto). Há também coisas como jstat e jinfo e outras. Para se beneficiar do jconsole, talvez seja necessário ativar o JMX (isso também pode ser feito para conexões remotas). Você precisará executar essas ferramentas como o mesmo usuário que está executando a JVM que deseja inspecionar.

Se você estiver usando top ou htop , poderá digitar H (capital) para ativar ou desativar a exibição de segmentos. Vale a pena olhar para as várias teclas principais.

    
por 16.09.2014 / 13:39

Tags