場合によっては、カーネルが「ティックレス」にコンパイルされ、通常のタイマー割り込みをまったく使用しないことがあるため、この質問に対する統一された答えはありません。ただし、従来のカーネルと従来のディストリビューションを使用している場合は、現在のカーネルの .config
を見つけることができます grep 'CONFIG_HZ=' /boot/config-$(uname -r)
のような /boot の下のファイル .
HZ の値は次のように決定できます:
$ getconf CLK_TCK
100
getconf
を使用して、実行中のカーネルのコンパイル時のオプションを確認できます。 . HZ は設定可能であることに注意してください:
$マン7回
HZ の値は、カーネルのバージョンとハードウェア プラットフォームによって異なります。 i386 での状況は次のとおりです。2.4.x までのカーネルでは、HZ は 100 で、0.01 秒の jiffy 値を与えます。 2.6.0 から、HZ は 1000 に引き上げられ、0.001 秒の瞬間が与えられました。カーネル 2.6.13 以降、HZ 値はカーネル構成パラメーターであり、100、250 (デフォルト)、または 1000 にすることができ、それぞれ 0.01、0.004、または 0.001 秒の jiffies 値を生成します。カーネル 2.6.20 以降、さらに周波数が利用可能になりました:300、一般的なビデオ フレーム レート (PAL、25 HZ; NTSC、30 HZ) を均等に割る数です。
times(2) システム コールは特殊なケースです。カーネル定数 USER_HZ で定義された粒度で時間を報告します。ユーザー空間アプリケーションは、sysconf(_SC_CLK_TCK) を使用してこの定数の値を決定できます。
通常、_SC_
をトリミングする必要がある場合があります。 getconf
を使用して問い合わせる際に、man ページに表示される変数名から少し外れる .