3.3. tuna ツールを使用した CPU のチューニング
tuna
ツールコマンドは、個別の CPU をターゲットとして指定できます。tuna
ツールを使用すると、次のアクションを実行できます。
Isolate CPUs
- 指定した CPU で実行しているすべてのタスクが、次に利用可能な CPU に移動します。CPU を分離すると、すべてのスレッドのアフィニティーマスクから CPU が削除され、CPU が利用できなくなります。
Include CPUs
- 指定された CPU でタスクを実行できるようにします。
Restore CPUs
- 指定した CPU を以前の設定に戻します。
前提条件
-
tuna
ツールがインストールされている。詳細は、tuna ツールのインストール を参照してください。
手順
すべての CPU をリスト表示し、コマンドの影響を受ける CPU のリストを指定します。
# ps ax | awk 'BEGIN { ORS="," }{ print $1 }' PID,1,2,3,4,5,6,8,10,11,12,13,14,15,16,17,19
tuna
インターフェイスでスレッドリストを表示します。# tuna show_threads -t 'thread_list from above cmd'
コマンドの影響を受ける CPU のリストを指定します。
# *tuna [command] --cpus cpu_list *
cpu_list 引数は、
--cpus 0,2
などのコンマ区切り CPU 番号のリストです。現在の cpu_list に特定の CPU を追加するには、たとえば
--cpus +0
を使用します。状況に応じて、次のいずれかの操作を実行します。
CPU を分離するには、次のように入力します。
# tuna isolate --cpus cpu_list
CPU を含めるには、次のように入力します。
# tuna include --cpus cpu_list
4 つ以上のプロセッサーを搭載したシステムを使用する場合は、すべての
ssh
スレッドを CPU 0 と 1 で実行し、すべてのhttp
スレッドを CPU 2 と 3 で実行します。# tuna move --cpus 0,1 -t ssh* # tuna move --cpus 2,3 -t http\*
検証
現在の設定を表示し、変更が適用されたことを確認します。
# tuna show_threads -t ssh* pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 855 OTHER 0 0,1 23 15 sshd # tuna show_threads -t http\* pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 855 OTHER 0 2,3 23 15 http
関連情報
-
/proc/cpuinfo
ファイル -
システム上の
tuna(8)
man ページ