CPU-Prozentsatz eines einzelnen Prozesses

CPU-Prozentsatz eines einzelnen Prozesses

Wie erhalte ich den durchschnittlichen CPU-Prozentsatz (pro Sekunde), der von einem einzelnen Prozess vom Start bis zum Ende (Existieren) verbraucht wird? Könnte ich dies mit Top erreichen?

Antwort1

psSie können hierfür das Dienstprogramm verwenden .

Um den Prozentsatz der CPU-Auslastung über die gesamte Lebensdauer eines einzelnen Prozesses anzuzeigen, haben Sie folgende Möglichkeiten:

ps h -p $PID -o %cpu 

Um den CPU-Prozentsatz aller laufenden Prozesse anzuzeigen, können Sie Folgendes tun:

ps ax -o pid,%cpu,comm

Antwort2

Eine Möglichkeit hierzu besteht darin, ein kleines Bash-Skript zu schreiben, das:

  • nimmt den Prozess-/Befehlsnamen von Interesse als einziges Argument,$arg1
  • extrahiert die PID für diesen Prozess mit einem angemessenen ps | grepoder einemps | awk
  • behält die PID-Nummer bei$arg2
  • führt einen Cron-Job auf dem zweiten mit einer ausführbaren Datei aus, die auf einem
    ps -eo pcpu,cmd | egrep $arg1 >> logfile-$arg2
  • macht die Beendigung des Cron-Jobs davon abhängig, ob der Prozess noch existiert (testen Sie einfach die in gespeicherte PID-Nummer $arg2).
  • wird beendet, wenn der Test-PID nicht mehr in der Ausgabe vonps

verwandte Informationen