4.3. tuna ツールを使用した CPU の調整
tuna
ツールコマンドは、個別の CPU をターゲットとして指定できます。
tuna ツールを使用すると、以下が可能になります。
CPU の分離
- 指定した CPU で実行しているすべてのタスクが、次に利用可能な CPU に移動します。CPU の分離は、すべてのスレッドのアフィニティーマスクから削除することで利用できなくなります。
CPU の追加
- 指定された CPU でタスクを実行できるようにします。
CPU の復元
- 指定した CPU を以前の設定に戻します。
この手順では、tuna
CLI を使用して CPU を調整する方法を説明します。
前提条件
- tuna ツールがインストールされている。詳細は、tuna ツールのインストール を参照してください。
手順
コマンドの影響を受ける CPU のリストを指定するには、次のコマンドを実行します。
# tuna --cpus=cpu_list [command]
cpu_list 引数は、コンマ区切りの CPU 番号のリストです。例:
--cpus=0,2
.CPU リストは、--cpus="1-3"
の範囲でも指定でき、CPU 1、2、および 3 を選択します。現在の cpu_list に特定の CPU を追加するには、たとえば
--cpus=+0
を使用します。[command] を、
--isolate
に置き換えます。CPU を分離するには、以下を実行します。
# tuna --cpus=cpu_list --isolate
CPU を指定するには、以下を実行します。
# tuna --cpus=cpu_list --include
4 つ以上のプロセッサーを持つシステムを使用するには、すべての ssh スレッドを CPU 0 および 1 で実行し、CPU 2 および 3 のすべての
http
スレッドを実行する方法を表示します。# tuna --cpus=0,1 --threads=ssh\* \ --move --cpus=2,3 --threads=http\* --move
このコマンドは、以下の操作を順次実行します。
- CPU 0 および 1 を選択します。
-
ssh
で開始するスレッドをすべて選択します。 -
選択したスレッドを選択した CPU に移動します。tuna は、
ssh
で始まるスレッドのアフィニティーマスクを適切な CPU に設定します。CPU は、数字で 0 および 1 で表すことができ、16 進マスクでは 0x3 で、またはバイナリーでは 11 として表現できます。 - CPU リストを 2 および 3 にリセットします。
-
http
で始まるすべてのスレッドを選択します。 -
選択したスレッドを指定された CPU に移動します。tuna は、
http
で始まるスレッドのアフィニティーマスクを指定された CPU に設定します。CPU は、16 進マスクで 0xC または 1100 のバイナリーで 2 および 3 で表すこともできます。
検証
現在の設定を表示し、変更が想定どおりに実行されたことを確認します。
# tuna --threads=gnome-sc\* --show_threads \ --cpus=0 --move --show_threads --cpus=1 \ --move --show_threads --cpus=+0 --move --show_threads thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 3861 OTHER 0 0,1 33997 58 gnome-screensav thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 3861 OTHER 0 0 33997 58 gnome-screensav thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 3861 OTHER 0 1 33997 58 gnome-screensav thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 3861 OTHER 0 0,1 33997 58 gnome-screensav
このコマンドは、以下の操作を順次実行します。
-
gnome-sc
スレッドで始まるすべてのスレッドを選択します。 - 選択したスレッドを表示して、ユーザーがアフィニティーマスクと RT の優先度を検証できるようにします。
- CPU 0 を選択します。
-
gnome-sc
スレッドを指定の CPU 0 に移動します。 - 移動の結果を表示します。
- CPU リストを CPU 1 にリセットします。
-
gnome-sc
スレッドを指定した CPU (CPU 1) に移動します。 - 移動の結果を表示します。
- CPU リストに CPU 0 を追加します。
-
gnome-sc
スレッドを、指定した CPU、CPU 0、および 1 に移動します。 - 移動の結果を表示します。
-
関連情報
-
/proc/cpuinfo
ファイル -
システム上の
tuna(8)
man ページ