第4章 Tuna
Tuna ツールを使用して、スケジューラーの調整可能パラメーター、チューニングスレッドの優先度、IRQ ハンドラー、CPU コアとソケットの分離を行うことができます。Tuna はチューニングタスクの実行の複雑さを解消するのが目的で使用されます。
tuna パッケージをインストールしたら、引数なしで tuna コマンドを使用して、Tuna グラフィカルユーザーインターフェイス(GUI)を起動します。tuna -h コマンドを使用して、利用可能なコマンドラインインターフェイス(CLI)オプションを表示します。tuna(8) の man ページでは、アクションと修飾子が区別されることに注意してください。
Tuna GUI および CLI は、同等の機能を提供します。GUI は、問題を特定しやすくするために、1 つの画面に CPU トポロジーを表示します。Tuna GUI では、実行中のスレッドを変更することができ、変更の結果を即座に確認することができます。CLI では、Tuna は複数のコマンドラインパラメーターを使用でき、これらのパラメーターを順番に処理します。これらのコマンドは、設定コマンドとしてアプリケーションの初期スクリプトで使用することができます。
重要
tuna --save=filename コマンドを説明的なファイル名と共に使用して、現在の設定を保存します。このコマンドは、Tuna が変更できるすべてのオプションを保存せず、カーネルスレッドの変更のみを保存します。変更時に実行されていないプロセスは保存されません。
4.1. Tuna を使用したシステムの確認
変更を行う前に、Tuna を使用してシステムの現在の状況を表示することができます。
現在のポリシーと優先度を表示するには、tuna --show_threads コマンドを使用します。
#
tuna --show_threads
thread
pid SCHED_ rtpri affinity cmd
1 OTHER 0 0,1 init
2 FIFO 99 0 migration/0
3 OTHER 0 0 ksoftirqd/0
4 FIFO 99 0 watchdog/0
PID に対応する特定のスレッドや一致するコマンド名のみを表示するには、
--show_threads
の前に --threads
オプションを追加します
#
tuna --threads=pid_or_cmd_list --show_threads
pid_or_cmd_list 引数は、PID またはコマンド名パターンのコンマ区切りリストです。
現在の割り込み要求(IRQ)およびそれらのアフィニティーを表示するには、tuna --show_irqs コマンドを使用します。
#
tuna --show_irqs
# users affinity 0 timer 0 1 i8042 0 7 parport0 0
IRQ 番号に対応する特定の割り込みリクエストや一致する IRQ ユーザー名のみを表示する場合は、
--show_irqs
の前に --irqs
オプションを追加します。
#
tuna --irqs=number_or_user_list --show_irqs
number_or_user_list 引数は、IRQ 番号またはユーザー名パターンのコンマ区切りリストです。