Mich interessiert die aktuelle CPU-Auslastung – genauer gesagt CPU% und Wait% – für jeden Thread in einer bestimmten Anwendung. Kann man diese Informationen irgendwoher bekommen?
Ich weiß, dass top
die Informationen pro echtem Thread (jene mit PID) aufgeteilt werden können, aber es zeigt nicht die Aufteilung der System-/Benutzer-/Warte-CPU-Auslastung für jeden von ihnen an. Ich hätte auch gerne eine Möglichkeit, diese Informationen zu protokollieren. Kennen Sie Apps (oder APIs), die das können?
Antwort1
Antwort2
top -H -p pid
hoffe es kann helfen
Antwort3
Den Prozentsatz der CPU-Auslastung pro Thread können Sie mit ps
dem folgenden Befehl ermitteln:
ps -emo %cpu,pid,user,args
Die Berechnungsweise ist beschrieben inps manpage
:
Derzeit handelt es sich dabei um die verwendete CPU-Zeit geteilt durch die Laufzeit des Prozesses (Verhältnis CPU-Zeit/Echtzeit), ausgedrückt als Prozentsatz.
Antwort4
Haben Sie SAR ausprobiert? Es kann sogar auf PID-Ebene viele Informationen abrufen.