Terça-feira, 5 Junho 2007

Quantidade de threads por processo

Regularmente preciso verificar a quantidade de threads em um processo. Tanto em solaris como em linux. Coloco primeiro a versão para linux e depois a versão para Solaris.

Linux

Então coloco aqui o comando ps completo e logo abaixo um script para facilitar o monitoramento.

O comando ps

ps -p PID -o pid,user,%cpu,rss,etime,nlwp,args

Exemplo de invocação

$ ps -p 5124  -o pid,user,%cpu,rss,etime,nlwp,args
  PID USER     %CPU   RSS     ELAPSED NLWP COMMAND
 5124 claudio   8.0 122160      39:37   11 /usr/local/firefox/firefox-bin

A quantidade de threads é mostrada na coluna NLWP, que neste exemplo mostra 11 threads.

A opção -o informa quais colunas devem ser mostradas. Veja o manual do comando ps para verificar outras opções.

Note que o comando ps tem apenas uma invocação, o que torna difícil o monitoramento. Então criei um script bash, que tem as seguintes vantagens:

  • Aceita uma quantidade de repetições.
  • Repete o cabeçalho em 15 linhas
  • Aceita uma string como argumento, ao invés do nome do processo. Para não ter de ficar procurando o PID a todo momento.

threads_per_process.sh

Solaris

No solaris o comando é mais fácil: prstat

Ele aceita um parametro de repetição, que é útil para monitoramento.

Comando

prstat -c -p PID 1 3

Exemplo de invocação

$ prstat -c -p 15409 1 3
   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP
 15409 claudio   171M  120M sleep   59    0   4:22:25 6.6% java/29
Total: 1 processes, 29 lwps, load averages: 0.25, 0.27, 0.29
   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP
 15409 claudio   171M  120M sleep   59    0   4:22:25 6.3% java/29
Total: 1 processes, 29 lwps, load averages: 0.26, 0.27, 0.29

A quantidade de threads é mostrada na última coluna, chamada de NLWP, ao lado do nome do binário, que neste exemplo, mostra 29 threads.

Este monitoramento permitiu que pudesse avaliar um teste de threads que precisei realizar um tempo atrás. 

Se isto é útil para você, deixe um comentário sobre como isso lhe ajudou.

Escrito por claudio at 8:25 PM categorizado por Dicas e Scripts

Tags: java solaris dicas performance linux

Reunião do SouJava - Especial JavaOne

Hoje (dia 05/junho) irá haver uma reunião no SouJava em São Paulo, com a presença de algumas pessoas que participaram do evento neste ano.

Os palestrantes serão: Bruno Souza, Fabiane Nardon, Mauricio Leal e Fabio Velloso.

Serão mostrados e discutidos as principais novidades que ocorreram lá. Minha presença estaria garantida, se eu estivesse em São Paulo.
Compareça à reunião, pois é importante a sua presença, para discutir, fazer contatos, ganhar alguns brindes

Será efetuado o sorteio de brindes e camisetas.

Por favor, enquanto o site do SouJava estiver fora do ar peço que todos confirmem sua presença enviando um email para bianca.spazziani [at] soujava.org.br com o título "CONFIRMAÇÃO REUNIÃO SOUJAVA - 05/06" e no corpo do email o
seu nome completo para o endereço;

Sorteios:
- 2 assinaturas semestrais (6 edições) da revista JavaMagazine
- 2 assinaturas semestrais da revista SQL Magazine
- 1 assinatura anual da revista WebMobile
- 1 licença de IntelliJIDEA 6.0
- Brindes especiais

Escrito por claudio at 4:24 PM categorizado por SouJava

Tags: soujava java javaone

 
     Navegue no histórico de mensagens: « First  « Prev   1 2 3 4 5   Next »  Last »