Estou interessado no uso atual da CPU - precisamente CPU% e espera% - para cada thread em um aplicativo específico. É possível obter essas informações de algum lugar?
Eu sei que top
pode dividir informações por thread real (aquelas com pid), mas não mostra o uso do sistema / usuário / espera da CPU dividido para cada um deles. Eu também gostaria de alguma maneira de registrar essas informações. Você conhece algum aplicativo (ou API) que possa fazer isso?
ps -To pcpu,tid -C java | sort -r -k1 | more
para tópicos de suínos em um aplicativo java.ps --sort=pcpu
não alcança nada; melhor confiar no shell para a parte de classificação.-n
ou-g
classificaria para que "10" apareça acima de "2", por exemplo.Talvez dê uma olhada no htop, você pode configurar bastante com ele.
fonte
Você tentou sar? Ele pode buscar muitas informações, mesmo no nível pid.
fonte
Nagios e PNP http://docs.pnp4nagios.org/pnp-0.4/start
Funciona incrível ... pouca configuração.
fonte
Eu me deparei com isso em um sistema incorporado, onde não temos as ferramentas sofisticadas para analisar essas coisas.
Para isso, usei
cpuacct cgroup
e coloquei cada thread em sua própria pasta. Dessa forma, eu pude medir o uso deles.A hierarquia estava assim:
Então eu mudei para
fonte