22.7. カーネル関連の情報
Red Hat Enterprise Linux には、Linux カーネルタイマー割り込みの処理方法の変更が含まれています。通常、ハードウェアタイマーは固定レートで定期的な割り込みを生成するように設定されます(ほとんどのアーキテクチャーでは 1 秒あたり 100 倍)。これらの定期的なタイマー割り込みは、プロセスのスケジューリング、アカウンティング、システムのアップタイムの維持など、さまざまな内部ハウスキーピングタスクをスケジュールするためにカーネルによって使用されます。
タイマーベースのアプローチは、カーネルの 1 つのコピーのみが実行されているシステム環境に対して適切に機能しますが、多くのカーネルのコピーが 1 つのシステム(z/VM (R)ゲストなど)で実行している場合は、追加のオーバーヘッドが発生する可能性があります。このような場合、それぞれが割り込みを何度も生成するカーネルのコピーは数千ものものであるため、システムのオーバーヘッドが過剰になる可能性があります。
したがって、Red Hat Enterprise Linux には、定期的なタイマー割り込みをオフにする機能が追加されました。これは、
/proc/
ファイルシステムを使用して行います。定期的なタイマー割り込みを無効にするには、以下のコマンドを実行します。
echo 0 > /proc/sys/kernel/hz_timer
定期的なタイマー割り込みを有効にするには、以下のコマンドを実行します。
echo 1 > /proc/sys/kernel/hz_timer
デフォルトでは、定期的なタイマー割り込みは無効になっています。
定期的なタイマー割り込み状態は起動時に設定することもできます。これを実行するには、以下の行を
/etc/sysctl.conf
に追加して、定期的なタイマー割り込みを無効にします。
kernel.hz_timer = 0
注記
定期的なタイマー割り込みを無効にすると、システムアカウンティングツールの基本的な仮定に違反する可能性があります。システムアカウンティングに関連する誤作動に気付いた場合は、定期的なタイマー割り込みが有効になっている場合に誤作動が消えていることを確認し、http://bugzilla.redhat.com/bugzilla/ (バンドルされたツールを誤って機能させるため)にバグを報告したり、ツールベンダーに通知(サードパーティーのツールを誤って機能させるため)に通知します。