Obtendo um stats de cpu por thread

11

Estou interessado no uso atual de cpu - precisamente cpu% e wait% - para cada thread em um aplicativo específico. É possível obter essa informação de algum lugar?

Eu sei que top pode dividir informações por thread real (com pid), mas não mostra a divisão de uso do sistema / user / wait cpu para cada um deles. Eu também gostaria de alguma maneira de registrar essa informação. Você conhece algum aplicativo (ou apis) que possa fazer isso?

    
por viraptor 09.07.2009 / 12:50

7 respostas

4

Eu examinaria o SystemTap . Esta ferramenta certamente lhe dará o que você deseja. Há este exemplo de tópicos de criação de perfil; não sei se tem tudo o que você quer, mas você pode modificá-lo para que isso aconteça.

    
por 09.07.2009 / 16:53
9

Porcentagem de uso da CPU por encadeamento que você pode obter com o comando ps :

 ps -emo %cpu,pid,user,args

A maneira como é calculada é descrita em ps manpage :

Currently, it is the CPU time used divided by the time the process has been running (cputime/realtime ratio), expressed as a percentage.

    
por 09.07.2009 / 13:31
5
top -H -p pid 

espero que possa ajudar

    
por 05.12.2017 / 14:12
0

Talvez dê uma olhada no htop, você pode configurar bastante com ele.

    
por 09.07.2009 / 13:30
0

Você tentou sar? Pode buscar muita informação, mesmo no nível de pid.

    
por 12.04.2010 / 20:45
0

Nagios e PNP link

Funciona muito bem ... pouca configuração.

    
por 12.04.2010 / 21:14
0

Eu tropecei nisso em um sistema embarcado onde não temos as ferramentas sofisticadas para procurar essas coisas.

Para isso, usei cpuacct cgroup e coloquei cada thread em sua própria pasta. Dessa forma, consegui medir seu uso.

A hierarquia estava assim:

my-app.service
|-tid1
|-tid2
|-tid3

Então eu mudei para

my-app.service
|-dir1
|  -tid1
|-dir2
|  -tid2
|-dir3
|  -tid3
    
por 25.03.2015 / 13:46

Tags