CPU-Auslastung eines EINZELNEN PROZESSES im CSV-Format exportieren

CPU-Auslastung eines EINZELNEN PROZESSES im CSV-Format exportieren

Ich möchte Daten über die CPU-Auslastung eines EINZELNEN PROZESSES im Zeitverlauf sammeln. Ich habe versucht, die Datensammlung (z. B. mit pidstat) in eine While-Schleife mit einer einsekündigen Pause einzubinden, aber das funktioniert nicht. Ich habe auch versucht, collectl zu verwenden, aber ich konnte keine Option zum Sammeln der Daten eines einzelnen Prozesses finden (ich habe es mit --procfilter p versucht, aber die Ausgabe war nicht zuverlässig).

Gibt es ein Standardtool (möglicherweise Open Source), das die CPU-Auslastung eines EINZELNEN PROZESSES (mithilfe des PID) im Zeitverlauf misst und die Möglichkeit bietet, diese Daten in einer CSV-Datei zu speichern?

Antwort1

Das hier funktioniert:

#!/bin/bash
während wahr; tun
statist | grep 1117 >>pidload.csv
Schlaf 1
Erledigt

Fügen Sie es einfach in ein Shell-Skript ein. 1117 ist in diesem Fall die Prozess-ID, die Sie verfolgen möchten. chmod +x SCRIPTNAME und schon kann es losgehen.

wenn Sie bestimmte Daten wünschen, können Sie diese wie folgt per awk ausführen:

pidstat | grep 1117 | awk '{ print $3, $8 }' >>pidload.csv

verwandte Informationen