/proc/timer_stats - Timer-Statistiken
- /proc/timer_stats (von Linux 2.6.21 bis Linux 4.10)
- Dies ist eine Fehlersucheinrichtung, um Timer-(Miss)brauch in einem
Linux-System für Kernel- und Anwendungsentwickler sichtbar zu
machen. Sie kann von Kernel- und Anwendungsentwicklern verwandt werden, um
zu überprüfen, dass ihr Code keinen ungebührlichen
Gebrauch von Timern macht. Das Ziel besteht darin, unnötige
Aufwachaktionen zu vermeiden und damit die Leistungsaufnahme zu
optimieren.
- Falls im Kernel (CONFIG_TIMER_STATS) aktiviert aber nicht verwandt,
hat es fast keinen Laufzeit-Zusatzaufwand und einen relativ kleinen
Datenstruktur-Zusatzaufwand. Selbst falls die Datensammlung zur Laufzeit
aktiviert wird, ist der Zusatzaufwand klein: Alle Sperren erfolgen pro CPU
und das Nachschlagen erfolgt über einen Hash.
- Die Datei /proc/timer_stats wird zum Steuern der Abtast-Einrichtung
und zum Auslesen der abgetasteten Informationen verwandt.
- Die Funktionalität rtimer_stats ist beim Systemstart
inaktiv. Eine Abtastperiode kann mittels des folgenden Befehls gestartet
werden:
-
# echo 1 > /proc/timer_stats
- Der folgende Befehl beendet eine Abtastperiode:
-
# echo 0 > /proc/timer_stats
- Die Statistiken können wie folgt ermittelt werden:
-
$ cat /proc/timer_stats
- Während das Abtasten aktiviert ist, wird bei jedem Lesen aus
/proc/timer_stats eine neu aktualisierte Statistik gesehen. Sobald
das Abtasten deaktiviert ist, wird die abgetastete Information
beibehalten, bis eine neue Abtastperiode begonnen wird. Dies erlaubt
mehrfaches Auslesen.
- Beispielausgabe aus /proc/timer_stats:
-
$ cat /proc/timer_stats
Timer Stats Version: v0.3
Sample period: 1.764 s
Collection: active
255, 0 swapper/3 hrtimer_start_range_ns (tick_sched_timer)
71, 0 swapper/1 hrtimer_start_range_ns (tick_sched_timer)
58, 0 swapper/0 hrtimer_start_range_ns (tick_sched_timer)
4, 1694 gnome-shell mod_delayed_work_on (delayed_work_timer_fn)
17, 7 rcu_sched rcu_gp_kthread (process_timeout)
...
1, 4911 kworker/u16:0 mod_delayed_work_on (delayed_work_timer_fn)
1D, 2522 kworker/0:0 queue_delayed_work_on (delayed_work_timer_fn)
1029 total events, 583.333 events/sec
- Die Ausgabespalten sind wie folgt:
- [1]
- eine Anzahl der Ereignisse, optional (seit Linux 2.6.23) gefolgt von dem
Buchstaben »D«, falls dies ein aufschiebbarer Timer
ist;
- [2]
- die PID des Prozesses, die den Timer initialisierte,
- [3]
- der Namen des Prozesses, der den Timer initialisierte,
- [4]
- die Funktion, in der der Timer initialisiert wurde; und (in Klammern) die
Callback-Funktion, die diesem Timer zugeordnet ist.
- Während des Linux-4.11-Entwicklungszyklus wurde diese Datei
aufgrund von Sicherheitsbedenken entfernt, da sie Informationen
über Namensräume hinweg offenlegt. Desweiteren ist es
möglich, die gleichen Informationen über kernelinterne
Nachverfolgungseinrichtungen wie Ftrace zu ermitteln.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von
Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, Dr. Tobias
Quathamer <toddy@debian.org>, Chris Leick <c.leick@vollbio.de>,
Erik Pfannenstein <debianignatz@gmx.de> und Helge Kreutzmann
<debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU General
Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite
finden, schicken Sie bitte eine E-Mail an die Mailingliste der
Übersetzer:
debian-l10n-german@lists.debian.org.