
Ich möchte Zeit-/Jiffie-Statistiken über den Status eines Daemon-Prozesses erhalten. Die Zustände, auf die ich mich beziehe, sind in derLinux Kernel Proc DateisystemDokument. Läuft, Schläft, ununterbrochener Schlaf, Zombie, Verfolgt/gestoppt.
In Tabelle 1-4 werden Jiffie-Zeitzähler für Benutzer, Kernel, Benutzer mit untergeordneten Elementen und Kernel mit untergeordneten Elementen erwähnt, Jiffies im Status werden jedoch nicht erwähnt.
Gibt es Standardzähler, die die in diesen Zuständen verbrachte Zeit erfassen?
Beispiel:
Darin /proc/[pid]/stat
sind Benutzer- ( utime
), Kernel- ( stime
) und Gast- ( gtime
)-Zähler enthalten, die in Augenblicken gemessen werden.
Gibt es Prozesszähler für die in den folgenden Zuständen verbrachte Zeit: [ R
]laufen, [ S
]schlafen, [ D
]weiterschlafen in ununterbrochenem Warten, [ Z
]ombie, [ T
]gerast oder angehalten, gemessen in Augenblicken?
Antwort1
Nachdem ich mehr über meine Frage nachgedacht habe, denke ich, dass ich sie beantworten kann.
[ R
]Der Benutzermodus wird als Benutzermodus verfolgt(utime) und Kernelmodus (Zeit), da es Zyklen erfordert. Die Ruhe-/Leerlaufzeit kann (eine Art) berechnet werden, indem die berechnete Laufzeit in Sekunden von start_time
der Zeit abgezogen wird, die der Prozess nach dem Neustart benötigt. Dies ist nicht ganz zuverlässig, vorausgesetzt, die Taktfrequenz wird dynamisch skaliert.
Jiffies sind eine nicht-absolute Zeiteinheit (ein Tick), die von der Taktunterbrechungsfrequenz abhängt. Jiffies sind die Zeit, dietunetwas.
Ich kann weder einen Zähler noch einen Epochendatumsverweis dafür finden, wann ein Prozess in einen nicht laufenden Zustand wechselt, oder wie oft ein Zustand in den besagten nicht laufenden Zustand gewechselt ist.