Ich interessiere mich für die aktuelle Verwendung von CPU - genau CPU% und Wait% - für jeden Thread in einer bestimmten Anwendung. Ist es möglich, diese Informationen von irgendwoher zu bekommen?
Ich weiß, dass top
Informationen pro realem Thread aufgeteilt werden können (solche mit PID), aber es wird nicht die Aufteilung der System- / Benutzer- / Warte-CPU-Auslastung für jeden von ihnen angezeigt. Ich möchte auch eine Möglichkeit, diese Informationen zu protokollieren. Kennen Sie Apps (oder APIs), die das können?
ps -To pcpu,tid -C java | sort -r -k1 | more
für Schweinefäden in einer Java-App.ps --sort=pcpu
erreicht nichts; Verlassen Sie sich beim Sortieren besser auf die Shell.-n
oder-g
sortieren, so dass "10" zum Beispiel über "2" erscheint.Vielleicht schau mal bei htop vorbei, du kannst ziemlich viel damit konfigurieren.
quelle
Hast du es mit sar versucht? Es kann eine Menge Informationen auch auf PID-Ebene abrufen.
quelle
Nagios und PNP http://docs.pnp4nagios.org/pnp-0.4/start
Funktioniert super ... kleine Konfiguration.
quelle
Ich bin auf einem eingebetteten System darauf gestoßen, bei dem wir nicht über die ausgefallenen Tools verfügen, um in dieses Zeug hineinzuschauen.
Dafür habe ich
cpuacct cgroup
jeden Thread in einen eigenen Ordner gelegt und benutzt. Auf diese Weise konnte ich ihre Nutzung messen.Die Hierarchie sah folgendermaßen aus:
Dann habe ich es geändert
quelle