CPU-Auslastung und Speicherauslastung eines einzelnen Prozesses unter Linux abrufen?
Möchte ich, um die CPU-und Speichernutzung eines einzelnen Prozesses auf Linux - ich weiß, dass die PID. Hoffentlich kann ich es in jeder Sekunde und schreibt Sie in eine CSV-über die "watch" - Befehl. Welchen Befehl kann ich verwenden, um diese Informationen zu bekommen aus der Linux-Kommando-Zeile?
InformationsquelleAutor der Frage Supertux | 2009-08-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
(Sie können lassen Sie "cmd" ein, aber das könnte hilfreich sein bei der Fehlersuche).
Beachten Sie, dass diese gibt die Durchschnittliche CPU-Auslastung des Prozesses über die Zeit hat es ausgeführt wurde.
InformationsquelleAutor der Antwort caf
Variante caf s Antwort:
top -p <pid>
Diese auto-aktualisiert die CPU-Auslastung so ist es gut für die überwachung.
InformationsquelleAutor der Antwort Manki
Können Sie die Ergebnisse, indem Sie den Namen des Prozesses mit
den
-C
option ermöglicht die Nutzung von Prozess-Namen ohne zu wissen, es ist pid.InformationsquelleAutor der Antwort amit
Verwenden pidstat (von sysstat - Siehe Link).
z.B. zur überwachung dieser zwei-Prozess-IDs (12345 und 11223) alle 5 Sekunden verwenden
InformationsquelleAutor der Antwort Neon
Ein Programm starten und überwachen
Diese form ist nützlich, wenn Sie möchten benchmark eine ausführbare Datei leicht:
Nun, wenn Sie drücken Sie Strg + C beendet das Programm und Stoppt die überwachung. Beispiel-Ausgabe:
Getestet auf Ubuntu 16.04.
InformationsquelleAutor der Antwort Ciro Santilli 新疆改造中心 六四事件 法轮功
Könnten Sie
top -b
und grep die pid, die Sie möchten (mit der-b
fahne oben läuft auch im batch-Modus), oder die-p
Flagge und geben Sie die pid ohne Verwendung von grep.InformationsquelleAutor der Antwort Alberto Zaccagni
oder pro Prozess
InformationsquelleAutor der Antwort Patel95
Als kommentierte in caf s Antwort oben, ps und in einigen Fällen pidstat geben Sie der durchschnittlichen Lebensdauer der pCPU.
Um genauere Ergebnisse verwenden Sie top. Wenn Sie ausführen müssen, um top-sobald Sie laufen können:
oder verarbeiten nur die Daten und header:
ohne Header:
InformationsquelleAutor der Antwort aviranh
Um die Speicherauslastung nur Ihre Anwendung (im Gegensatz zu den shared libraries es verwendet, müssen Sie Linux verwenden, die smaps-Schnittstelle). Diese Antwort erklärt es gut.
InformationsquelleAutor der Antwort Paul Biggar
wobei die erste Spalte ist die PID,die zweite Spalte CPU-Auslastung ,Dritte Spalte Speichernutzung.
InformationsquelleAutor der Antwort Osama Al-Banna
PID - Prozess-ID
etime - Prozess Ausgeführt wird, der/Live Dauer
%cpu - CPU-Auslastung
%mem - Memory-usage
cmd - Befehl
Ersetzen "processname", mit was auch immer Prozess, den Sie verfolgen möchten, mysql nginx, php-fpm, etc ...
InformationsquelleAutor der Antwort Siva KR
(Wenn Sie in MacOS 10.10, versuchen Sie das accumulative -c option von oben:
(Diese option ist nicht verfügbar in anderen linux versucht mit Scientific Linux el6 und RHEL6)
InformationsquelleAutor der Antwort Kieleth
Oben Liste der top cpu-und Speicher-raubender Prozess
InformationsquelleAutor der Antwort user8854776
Alle, die Antworten hier zeigen, ist nur die Erinnerung Prozentsatz für die PID.
Hier ist ein Beispiel, wie man die rss-Speichernutzung in KB für alle apache-Prozesse, ersetzen "grep apache" mit "grep PID" wenn Sie nur wollen, zu beobachten, eine bestimmte PID:
Diese Drucke:
CPU %:
Ausgabe:
InformationsquelleAutor der Antwort Banana