Je suis intéressé par l'utilisation actuelle de cpu - précisément cpu% et wait% - pour chaque thread dans une application spécifique. Est-il possible d'obtenir ces informations quelque part?
Je sais que cela top
peut diviser les informations par vrai thread (ceux avec pid), mais cela ne montre pas la répartition d'utilisation du processeur système / utilisateur / attente pour chacun d'eux. J'aimerais également trouver un moyen de consigner ces informations. Connaissez-vous des applications (ou des API) qui peuvent le faire?
ps -To pcpu,tid -C java | sort -r -k1 | more
pour les fils de porc dans une application java.ps --sort=pcpu
n'obtient rien; mieux compter sur shell pour la partie tri.-n
ou-g
trier, de sorte que "10" apparaisse au-dessus de "2", par exemple.Peut-être jetez un œil à htop, vous pouvez en configurer beaucoup avec lui.
la source
Avez-vous essayé Sar? Il peut récupérer de nombreuses informations même au niveau pid.
la source
Nagios et PNP http://docs.pnp4nagios.org/pnp-0.4/start
Fonctionne très bien ... petite configuration.
la source
J'ai trébuché là-dessus sur un système embarqué où nous n'avons pas les outils sophistiqués pour examiner ce genre de choses.
Pour cela, j'ai utilisé
cpuacct cgroup
et placé chaque fil dans son propre dossier. De cette façon, j'ai pu mesurer leur utilisation.La hiérarchie ressemblait à ceci:
Ensuite, je l'ai changé en
la source