A.2. Tuna

Tuna を使ってプロセッサーやスケジューリング親和性を管理することができます。本セクションではコマンドラインインターフェースについて説明していますが、同様の機能を備えたグラフィカルインターフェースもあります。グラフィカルユーティリティーはコマンドラインで tuna を実行すると起動します。
Tuna は順番に処理される数種類のコマンドラインパラメーターを受け取ります。次のコマンドでは負荷を 4 つのソケットシステムに分散しています。
tuna --socket 0 --isolate \
   --thread my_real_time_app --move \
   --irq serial --socket 1 --move \
   --irq eth* --socket 2 --spread \
   --show_threads --show_irqs
--gui
グラフィカルユーザーインターフェースを起動します。
--cpus
Tuna で管理する CPU をコンマで区切った一覧をとります。新しい一覧を指定するまでこの一覧が有効になります。
--config_file_apply
システムに適用するプロファイル名をとります。
--config_file_list
プレロードされるプロファイルを表示します。
--cgroup
--show_threads と併用します。管理グループを有効にした場合に、--show_threads で表示されるプロセスが属する管理グループタイプを表示します。-P が必要です。
--affect_children
指定すると Tuna は子スレッド、親スレッド両方に影響します。
--filter
選択された CPU の表示を --gui で無効にします。-c が必要です。
--isolate
CPU のコンマで区切った一覧を取得します。Tuna により指定 CPU からの全スレッドの移行が行われます。-c または -s が必要です。
--include
CPU のコンマで区切った一覧を取得します。Tuna により指定 CPU での全スレッドの実行が許可されます。-c または -s が必要です。
--no_kthreads
このパラメーターを指定すると Tuna はカーネルスレッドには作用しなくなります。
--move
選択したエンティティーを CPU 一覧に移動します。-c または -s が必要です。
--priority
スレッドの優先度とスケジューラーのポリシーを指定します。使用できるスケジューラーポリシーは OTHERFIFORRBATCHIDLE になります。
ポリシーが FIFO または RR の場合、有効な優先度の値は 1 (最も低い) から 99 (最も高い) の間の整数になります。デフォルト値は 1 です。たとえば、tuna --threads 7861 --priority=RR:40 の場合、ポリシーには RR (ラウンドロビン)、優先度には 40 がスレッド 7861 に設定されます。
ポリシーが OTHERBATCH、または IDLE の場合、唯一の有効な優先度の値は 0 です (これはデフォルト値でもあります)。-t が必要です。
--show_threads
スレッド一覧を表示します。
--show_irqs
IRQ 一覧を表示します。
--irqs
Tuna を作用させる IRQ のコンマで区切った一覧をとります。新しい一覧を指定するまでこの一覧が有効になります。一覧に IRQ を追加する場合は +、一覧から削除する場合は - を使用します。
--save
指定ファイルにカーネルスレッドのスケジュールを保存します。
--sockets
Tuna に管理させる CPU ソケットのコンマで区切った一覧をとります。このオプションはひとつのプロセッサーキャッシュを共有するコアや同じ物理チップにあるコアなどシステムのテクノロジーを考慮に入れています。
--threads
Tuna に管理させるスレッドのコンマで区切った一覧をとります。新しい一覧を指定するまでこの一覧が有効になります。一覧にスレッドを追加する場合は +、一覧から削除する場合は - を使用します。
--no_uthreads
動作がユーザーのスレッドに作用しないようにします。
--what_is
選択したエンティティーの詳細なヘルプを表示します。-t が必要です。
--spread
--threads で指定したスレッドを --cpus で指定した CPU 間で均等に分散します。t または -q が必要です。
--help
オプションの一覧を出力します。このアクション後に tuna は終了し、コマンドラインの残りは無視されます。
--version
バージョンを表示します。