Ich möchte die Speichernutzung eines Prozesses überwachen und diese Daten protokollieren. Gibt es ein solches Tool?
memory
monitoring
Tshepang
quelle
quelle
Antworten:
Ich habe ein Skript geschrieben, um genau dies zu tun . Grundsätzlich werden Stichproben
ps
in bestimmten Intervallen erstellt, um ein Profil eines bestimmten Prozesses zu erstellen. Der Prozess kann vom Überwachungstool selbst gestartet werden oder es kann sich um einen unabhängigen Prozess handeln (der durch pid oder ein Befehlsmuster angegeben wird).quelle
Gelegentlich, wenn es nötig ist, mache ich einfach:
Es ist keine elegante Lösung, aber erledigt den Job, wenn Sie den schnellen Rohwert wollen, um Ihre Hypothese zu verifizieren.
quelle
grep --line-buffered <process> >>somefile
grep zwingen, jede Zeile ohne Pufferung auszugebensar
( System Activity Reporter ) aus dem sysstat- Paket ist in solchen Fällen Ihr Freund.Ein anderer Weg wäre die Überwachung in Kombination mit historischen Daten, zB Munin, pnp4nagios, rrdtools, ...
quelle
sar
man sich auf nur einen prozess konzentrieren? meistens scheint es, das System als Ganzes zu überwachenpidstat
Befehl aus dem sysstat-Paket bietet auch eine ziemlich schöne Oberfläche für das Melden von Statistiken zu einzelnen Prozessen.Abgesehen von dem oben erwähnten Sar würde ich atop empfehlen . Es speichert ein binäres Protokoll, das Sie anschließend lesen können, und neben dem Speicher werden viele andere Informationen gespeichert.
quelle
Du könntest es mit Valgrind versuchen .
quelle
Ich mag Sridhars einfache Antwort, aber ich habe meine eigene gewürfelt, bevor ich seine ausprobiert habe:
Dies ist grundsätzlich nur dann sinnvoll, wenn Sie eine strukturierte Ausgabe wünschen. Ändern Sie 7274 entsprechend. Auch in Python 3.5 ist etwas kaputt gegangen.
_asdict()
Verwenden Sie daher Python 2.Die Ausgabedatei sieht folgendermaßen aus:
quelle