TASKSET

Section: User Commands (1)
Updated: August 2014
Index Return to Main Contents
 

名前

taskset - プロセスの CPU アフィニティ (affinity) を設定また取得する。  

書式

taskset [options] mask command [argument...]
taskset [options] -p [maskpid  

説明

tasksetpid で指定された実行中の CPU アフィニティを設定または取得するために使われる。 また、新しい command を指定した CPU アフィニティで起動することもできる。 CPU アフィニティは、スケジューラーの設定であり、 プロセスをシステム上の CPU セットと「結びつける」。 Linux スケジューラーは指定された CPU アフィニティを遵守し、他の CPU では実行しない。 Linux スケジューラーは元々の CPU アフィニティもサポートする点にも注意すること。 元々のスケジューラーは、性能上の理由がない限り、プロセスを同じ CPU で実行する。 よって、特定の CPU アフィニティを強制することは、特定のアプリケーションでしか役立たない。

CPU アフィニティはビットマスクで表現され、最下位のビットが最初の論理 CPU に対応し、 最上位のビットが最後の論理 CPU に対応する。 全ての CPU が指定されたシステムで存在するわけではないので、 マスクでは存在する以上の CPU を指定することができる。 取得したマスクは、システム上に物理的に存在する CPU に対応したビットになっている。 不正な (つまり、現在のシステムに対応する有効な CPU がない) マスクが指定された場合、 エラーが返される。 マスクは 16 進数 (先頭に "0x" があってもなくてもよい)、または --cpu-list オプションで CPU のリストで指定できる。 例えば、

0x00000001
はプロセッサ #0 である。
0x00000003
はプロセッサ #0 と #1 である。
0xFFFFFFFF
はプロセッサ #0 から #31 である。
32
はプロセッサ #1, #4, #5 である。
--cpu-list 0-2,6
はプロセッサ #0, #1, #2, #6 である。
--cpu-list 0-10:2
はプロセッサ #0, #2, #4, #6, #8, #10 である。 サフィックス ":N" は範囲内でいくつ飛ばすかを指定する。 例えば、0-10:3 は 0,3,6,9 というリストとして解釈される。

taskset が返された場合、指定したプログラムが適切な CPU でスケジューリングされていることが 保証されている。  

オプション

-a--all-tasks
指定した PID の全てのタスク (スレッド) の CPU アフィニティを設定または取得する。
-c--cpu-list
mask をビットマスクではなく、プロセッサ番号のリストとして解釈する。 番号はカンマで区切られ、範囲を含めることもできる。 例えば: 0,5,8-11.
-p--pid
既存の PID について操作を行い、新しいタスクを起動しない。
-V--version
バージョン情報を表示して、終了する。
-h--help
ヘルプを表示して、終了する。
 

使用法

デフォルトの動作は、新しいコマンドを指定したアフィニティマスクで実行する: taskset mask command [arguments]
既存のタスクの CPU アフィニティを取得することもできる: taskset -p pid
既存のタスクの CPU アフィニティを設定する: taskset -p mask pid
 

権限

ユーザーは同じユーザーが所有するプロセスの CPU アフィニティを変更できる。 他のユーザーが所有するプロセスの CPU アフィニティを変更するには、 CAP_SYS_NICE 権限を持たなければならない。 ユーザーは任意のプロセスのアフィニティマスクを取得できる。  

関連項目

chrt(1), nice(1), renice(1), sched_getaffinity(2), sched_setaffinity(2)

Linux のスケジューリングの概要については、 sched(7) を参照すること。  

著者

Robert M. Love によって書かれた。  

著作権

Copyright © 2004 Robert M. Love. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  

入手方法

taskset コマンドは util-linux パッケージの一部であり、 https://www.kernel.org/pub/linux/utils/util-linux/ から入手できる。


 

Index

名前
書式
説明
オプション
使用法
権限
関連項目
著者
著作権
入手方法

This document was created by man2html, using the manual pages.
Time: 12:06:58 GMT, April 14, 2020