Tentei pesquisar no Google, mas não consigo encontrá-lo. Estou à procura de:
número de threads no processo X
número total de threads em execução atualmente
system-info
NoSenseEtAl
fonte
fonte
Respostas:
Para obter o número de threads para um determinado pid:
Para obter a soma de todos os threads em execução no sistema:
fonte
ps -o nlwp <pid>
retorna NLWP :), o que isso significa?ps h -o nlwp $pid
Para encontrar o número de threads executando um único processo, você pode olhar
/proc/<pid>/status
. Ele deve listar o número de threads como um dos campos.fonte
Estou baseando esta resposta ao redor
ps axms
.ps
é uma ótima ferramenta para listar o que está sendo executado.Se você deseja filtrar isso por um processo, tente algo como isto:
Subtraímos 1 porque grep será exibido nessa lista.
Para todos os threads em geral, isso deve funcionar:
Subtraímos um desta vez porque há uma linha de cabeçalho.
fonte
Para obter o número total de threads (pequenas partes de um processo em execução simultaneamente) de um, você pode usar o comando
ps -o nlwp <pid>
Funciona o tempo todo. Mas se você preferir tentar vê-lo através de um arquivo. você provavelmente deve olhar para os arquivos que foram criados para todo e qualquer processo do sistema. Lá você pode obter os detalhes finais do processo. Para todo e qualquer processo, há uma pasta criada/proc/<pid>
lá, você pode ver todos os outros detalhes também.fonte
No Linux especificamente, aqui está uma maneira de fazê-lo por processo:
Em seguida, você pode invocar esse script com um PID como argumento e ele relatará o número de threads pertencentes a esse processo.
Para obter a contagem de threads para todo o sistema, basta:
Essas abordagens podem parecer um pouco pouco ortodoxas, pois dependem muito dos recursos de shell, mas, em troca, são mais rápidas do que as abordagens correspondentes
ps
eawk
baseadas em minha máquina (embora também não criem threads extras próprios para pipes). Lembre-se de que o shell lançado para executar esses scripts terá um thread próprio (ou mais, se você estiver usando uma implementação estranha).fonte