Auf diese Fragen gibt es keine einheitliche Antwort, da Ihr Kernel in einigen Fällen "tickless" kompiliert sein kann und überhaupt keinen regulären Timer-Interrupt verwendet. Aber wenn Sie auf einem traditionellen Kernel und einer traditionellen Distribution sind, können Sie .config
des aktuellen Kernels finden Datei unter /boot mit so etwas wie grep 'CONFIG_HZ=' /boot/config-$(uname -r)
.
Der Wert von HZ kann wie folgt bestimmt werden:
$ getconf CLK_TCK
100
Jede der Optionen zur Kompilierzeit des laufenden Kernels kann mit getconf
angezeigt werden . Beachten Sie, dass HZ konfigurierbar ist:
$ Mann 7 Mal
Der Wert von HZ variiert je nach Kernelversion und Hardwareplattform. Auf i386 ist die Situation wie folgt:Auf Kerneln bis einschließlich 2.4.x war HZ 100, was einen Jiffy-Wert von 0,01 Sekunden ergibt; Beginnend mit 2.6.0 wurde HZ auf 1000 erhöht, was einen Jiffy von 0,001 Sekunden ergibt. Seit Kernel 2.6.13 ist der HZ-Wert ein Kernel-Konfigurationsparameter und kann 100, 250 (Standard) oder 1000 sein, was einen Jiffies-Wert von jeweils 0,01, 0,004 oder 0,001 Sekunden ergibt. Seit Kernel 2.6.20 ist eine weitere Frequenz verfügbar:300, eine Zahl, die sich für die gängigen Videobildraten (PAL, 25 HZ; NTSC, 30 HZ) gleichmäßig aufteilt.
Der Systemaufruf times(2) ist ein Sonderfall. Es meldet Zeiten mit einer Granularität, die durch die Kernel-Konstante USER_HZ definiert ist. User-Space-Anwendungen können den Wert dieser Konstante mit sysconf(_SC_CLK_TCK) ermitteln.
Wie es normalerweise der Fall ist, müssen Sie möglicherweise die _SC_
kürzen den in den Manpages angezeigten Variablennamen abgebissen, wenn mit getconf
danach gefragt wurde .