Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

付録A ツールについて

パフォーマンスの調整に使用できる Red Hat Enterprise Linux 7 の各種ツールについて簡単に説明しています。詳細および最新情報についてはツールの man ページをご覧ください。

A.1. irqbalance

irqbalance は、システムパフォーマンスを向上させるために、プロセッサー全体にハードウェア割り込みを分散するコマンドラインツールです。デフォルトではデーモンとして実行されますが、--oneshot オプションで 1 回きりの実行も可能です。
パフォーマンス改善には、以下のパラメーターが便利です。
--powerthresh
CPU が省電力モードになる前にアイドル状態になることが可能な CPU 数を設定します。しきい値を超える CPU 数が平均の softirq ワークロードよりも多い CPU で、平均を上回る CPU が複数の標準差を超えておらず、複数の irq をそれらに割り当てると、CPU は省電力モードに配置されます。省電力モードでは、CPU は irq バランシングの一部ではないため、不必要に陥ることはありません。
--hintpolicy
irq カーネルアフィニティーヒントの処理方法を決定します。有効な値は exact (irq アフィニティーヒントは常に適用)、サブセット (irq はバランスが取れますが、割り当てられたオブジェクトはアフィニティーヒントのサブセット)、または ignore (irq アフィニティーヒントは完全に無視されます)。
--policyscript
各割り込み要求に対して実行するスクリプトの場所を定義します。デバイスパスと irq 番号を引数として渡し、irqbalance が想定する終了コードをゼロにします。定義されるスクリプトでは、渡された irq の管理で irqbalance をガイドするために、ゼロまたはそれ以上のキーと値のペアを指定できます。
有効な鍵の値のペアとして認識されるのは、以下のものです。
ban
有効な値は true (渡された irq を分散から除外)または false (この irqのバランシングによる分散)です。
balance_level
ユーザーが渡された irq のバランスレベルを上書きすることを許可します。デフォルトでは、バランスレベルは irq を所有するデバイスの PCI デバイスクラスに基づいています。有効な値は、nonepackagecache、または core です。
numa_node
渡された irq に対してローカルとみなされる NUMA ノードのユーザーオーバーライドを許可します。ローカルノードについての情報が ACPI で指定されていない場合は、デバイスはすべてのノードから等距離とみなされます。有効な値は、特定の NUMA ノードを識別する整数(0 から)と、すべてのノードから irq を同等と見なすことを指定する - 1 です。
--banirq
指定割り込み要求番号を持つ割り込みが禁止割り込みリストに追加されます。
IRQBALANCE_BANNED_CPUS 環境変数を使用して、irqbalance で無視される CPU のマスクを指定することもできます。
詳細は、以下の man ページを参照してください。
$ man irqbalance