Autor Thema: Sched-Infos  (Gelesen 4189 mal)

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« am: 13. April 2011, 19:31 »
Hi Leute,

ich habe ein Problem.
Weisz einer von euch, wie ich unter Linux die reine CPU-Zeit bekomme, nachdem ein Prozess terminierte?
Ich kriege zur Laufzeit ja die Jiffies ueber das ProcFS, aber das reicht mir nicht.
Das verfaelscht meine Ergebnisse.
Ich habe kein Problem mir dazu ein Programm zu schreiben oder ein Skript.
Ich habe leider momentan keinen Ansatz.

times() bringt mir glaub ich nicht die reine CPU-Zeit, oder?

Danke.

Grusz,
rizor
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 13. April 2011, 22:31 »
Habe es jetzt selbst geloest.
Ging ganz einfach durch die resource-structs des Kernels und des wait4
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 14. April 2011, 01:12 »
user@rechner:~$ time locate alphabetagamma

real    0m1.540s
user    0m1.472s
sys     0m0.020s
user@rechner:~$

Die Summe aller drei Posten ist m.W. die real verbrauchte CPU-Zeit.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 14. April 2011, 09:31 »
Eher nur system + user.

real ist die tatsächlich vergangene Zeit und in der Regel höher als system + user, wenn z.B. noch auf I/O gewartet worden ist, was ja keine CPU-Zeit benötigt.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 14. April 2011, 13:09 »
stimmt, so hätte ich es auch machen können.
danke.

naja, so habe ich mir halt ein kleines c-programm geschrieben, das sich forkt und mit execl die neue aufgabe erfüllt.
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

 

Einloggen