Non esiste una risposta uniforme a queste domande, poiché in alcuni casi il tuo kernel potrebbe essere compilato "senza segno di spunta" e non utilizzare affatto un normale interrupt del timer. Ma se utilizzi un kernel tradizionale e una distribuzione tradizionale, puoi trovare il .config
del kernel corrente file sotto /boot con qualcosa come grep 'CONFIG_HZ=' /boot/config-$(uname -r)
.
Il valore di HZ può essere determinato in questo modo:
$ getconf CLK_TCK
100
Qualsiasi opzione di compilazione del kernel in esecuzione può essere visualizzata usando getconf
. Tieni presente che HZ è configurabile:
$ uomo 7 volte
Il valore di HZ varia a seconda delle versioni del kernel e delle piattaforme hardware. Su i386 la situazione è la seguente:su kernel fino a 2.4.x incluso, HZ era 100 dando un valore jiffy di 0,01 secondi; a partire da 2.6.0, HZ è stato portato a 1000, dando un batter d'occhio di 0,001 secondi. Dal kernel 2.6.13, il valore HZ è un parametro di configurazione del kernel e può essere 100, 250 (predefinito) o 1000, producendo un valore jiffies rispettivamente di 0,01, 0,004 o 0,001 secondi. A partire dal kernel 2.6.20, è disponibile un'ulteriore frequenza:300, un numero che si divide equamente per i comuni frame rate video (PAL, 25 HZ; NTSC, 30 HZ).
La chiamata di sistema times(2) è un caso speciale. Riporta i tempi con una granularità definita dalla costante del kernel USER_HZ. Le applicazioni in spazio utente possono determinare il valore c di questa costante utilizzando sysconf(_SC_CLK_TCK).
Come di solito accade, potrebbe essere necessario tagliare il _SC_
bit off del nome della variabile mostrato nelle pagine man quando si chiede informazioni su di esso utilizzando getconf
.