CPU und Ram-Verbrauch von Prozess aufzeichnen
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
CPU und Ram-Verbrauch von Prozess aufzeichnen
Guten Tag,
kennt einer von euch ein Kommandozeilentool, was es mir erlaubt einen Prozess zu starten und von diesem Prozess CPU/Ram, etc (alles was in top/htop steht) aufzuzeichnen? Und zwar so dass man das gut in Scripten verwenden kann - also nicht ein Tool bei dem ich die pid von einem laufenden Prozess angeben muss, sondern eins was den Prozess selber startet.
Quasi wie time langsamer_prozess oder auch perf nur halt mit anderen zu beobachtenden Variablen. Gerne darf das Tool auch andere Sachen mitaufzeichnen (CPU-Belastung durch andere Prozesse, Load, etc)...
Hab da bisher gar nichts gefunden, sowas muss es doch geben!
MfG Peschmä
kennt einer von euch ein Kommandozeilentool, was es mir erlaubt einen Prozess zu starten und von diesem Prozess CPU/Ram, etc (alles was in top/htop steht) aufzuzeichnen? Und zwar so dass man das gut in Scripten verwenden kann - also nicht ein Tool bei dem ich die pid von einem laufenden Prozess angeben muss, sondern eins was den Prozess selber startet.
Quasi wie time langsamer_prozess oder auch perf nur halt mit anderen zu beobachtenden Variablen. Gerne darf das Tool auch andere Sachen mitaufzeichnen (CPU-Belastung durch andere Prozesse, Load, etc)...
Hab da bisher gar nichts gefunden, sowas muss es doch geben!
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
- Patsche
- Beiträge: 3262
- Registriert: 21.06.2013 01:47:54
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: /home/10001101001
Re: CPU und Ram-Verbrauch von Prozess aufzeichnen
Vielleicht suchst du nach atop ?Hab mir das noch nicht selbst angsesehen, hatte das aber in einem Blog gelesen, dass es dafür ganz nützlich sein soll.
-> http://www.debinux.de/2014/03/atop-das- ... ueckblick/
-> http://www.debinux.de/2014/03/atop-das- ... ueckblick/
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Re: CPU und Ram-Verbrauch von Prozess aufzeichnen
atop kannte ich noch nicht, sieht sehr nett aus was das aufzeichnen von Sachen und die Output-Formate angeht. Was mir da noch fehlt ist die einfache Möglichkeit es so zu scripten wie ich oben beschrieben habe...
[Edit]Habe gerade herausgefunden, dass time (d.h. /usr/bin/time und nicht das shell-builtin) einiges mehr an Informationen liefert, das geht schon mal in die richtige Richtung. Allerdings ist das alles nur eine Zusammenfassung (max ram, etc) und nicht zeitlich aufgelöst...
MfG Peschmä
[Edit]Habe gerade herausgefunden, dass time (d.h. /usr/bin/time und nicht das shell-builtin) einiges mehr an Informationen liefert, das geht schon mal in die richtige Richtung. Allerdings ist das alles nur eine Zusammenfassung (max ram, etc) und nicht zeitlich aufgelöst...
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
-
- Beiträge: 287
- Registriert: 05.02.2013 19:47:41
Re: CPU und Ram-Verbrauch von Prozess aufzeichnen
-der_linux_cowboy --- Besser werden! ... f*** w$$
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Re: CPU und Ram-Verbrauch von Prozess aufzeichnen
Danke, die haben beide leider nicht das interface das ich möchte, atsar ist schon recht nahe dran mit dem Aufruf der für eine gewisse Zeit beobachtet. Was ich möchte ist aber dass er einen neu zu startenden Prozess solange beobachtet wie dieser läuft...
MfG Peschmä
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
-
- Beiträge: 287
- Registriert: 05.02.2013 19:47:41
Re: CPU und Ram-Verbrauch von Prozess aufzeichnen
Hmm...da du es sowieso scripten willst könntest du es selbst starten, beobachten, (es) beenden, auswerten? Die "Tools" nutzen doch am Ende alle /proc...
PS: ...aber da wärst du sicher als Linux-seit-2003-User selber drauf gekommen!
PS: ...aber da wärst du sicher als Linux-seit-2003-User selber drauf gekommen!
-der_linux_cowboy --- Besser werden! ... f*** w$$
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Re: CPU und Ram-Verbrauch von Prozess aufzeichnen
Darauf hab ich nicht besonders Lust, weil das wird sicher nicht zuverlässiger, wenn ich da einen Prozess in den Hintergrund schicke und dann selber in bash checken bis der fertig ist und so.
Hätte lieber ein Tool dass sich ordentlich darum kümmert ohne dass ich da all zu viel Klamauk drumrum basteln will (ist sowieso schon ein eher abenteuerliches Script...). Ich meine, time hat noch immer funktioniert - so ein bash-gebastel hat immer irgendwelche cornercases wo die Sache dann doch nicht geht, und da muss *ich* dann halt alle Fehler debuggen
Aber ja, wird wohl auf sowas herauslaufen...
MfG Peschmä
Hätte lieber ein Tool dass sich ordentlich darum kümmert ohne dass ich da all zu viel Klamauk drumrum basteln will (ist sowieso schon ein eher abenteuerliches Script...). Ich meine, time hat noch immer funktioniert - so ein bash-gebastel hat immer irgendwelche cornercases wo die Sache dann doch nicht geht, und da muss *ich* dann halt alle Fehler debuggen
Aber ja, wird wohl auf sowas herauslaufen...
Code: Alles auswählen
process&
PID=$!
while [[ ( -d /proc/$PID ) && ( -z `grep zombie /proc/$PID/status` ) ]]; do
cat /proc/$PID/status >> log
sleep 1
done
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
-
- Beiträge: 287
- Registriert: 05.02.2013 19:47:41
Re: CPU und Ram-Verbrauch von Prozess aufzeichnen
Auf den zweiten Blicke denke ich auch, wie Patsche, atop könnte dir helfen!
Es hat "PROCESS ACCOUNTING" und "PARSEABLE OUTPUT". (siehe manpage) Musst dir nur noch raussuchen, was du für fields im output brauchst.
In dem Script ist dein Interface atop, nicht proc. Das raussuchen/fehlerchecken musst *du* dann nicht machen.
Das Program/den Prozess startest du wie sonst auch, eventl. eben erst in deinem Script. In einstellbaren Zeitintervallen meldet sich atop. Prozessende bekommt es ebenfalls mit.
Ist eine fette manpage, aber imho ist was du suchst implementiert.
Es hat "PROCESS ACCOUNTING" und "PARSEABLE OUTPUT". (siehe manpage) Musst dir nur noch raussuchen, was du für fields im output brauchst.
In dem Script ist dein Interface atop, nicht proc. Das raussuchen/fehlerchecken musst *du* dann nicht machen.
Das Program/den Prozess startest du wie sonst auch, eventl. eben erst in deinem Script. In einstellbaren Zeitintervallen meldet sich atop. Prozessende bekommt es ebenfalls mit.
Ist eine fette manpage, aber imho ist was du suchst implementiert.
-der_linux_cowboy --- Besser werden! ... f*** w$$
Re: CPU und Ram-Verbrauch von Prozess aufzeichnen
Steve Kemp hat neulich runi vorgestellt: http://debian-administration.org/articl ... g_services
Vllt. hilft dir das bei deinem Problem.
Vllt. hilft dir das bei deinem Problem.
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Re: CPU und Ram-Verbrauch von Prozess aufzeichnen
Ja, mal gucken, wird wohl entweder atop oder proc. Das was mir an der stelle Sorgen macht ist weniger das Aufzeichnen der Daten sondern das Management vom und warten auf den Prozess den ich in den Hintergrund schicke. So hätte ich z.B. auch gerne den Rückgabewert von dem Ding. Das ginge zwar mit wait, aber das ist auch ein blocking aufruf, d.h. ich müsste dann atop auch gleich noch in den Hintergrund schicken...linuxCowboy hat geschrieben:In dem Script ist dein Interface atop, nicht proc. Das raussuchen/fehlerchecken musst *du* dann nicht machen.
Das geht dann schon irgendwie, ich guck dann Montag weiter, wäre halt schön gewesen wenns ein Tool gäbe was das alles schon macht.
[Edit]@ThorstenS: mit sv once $foo sollte sich da tatsächlich was bauen lassen, mal schaun...[/Edit]
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy