diff options
Diffstat (limited to 'schedutils/taskset.1')
-rw-r--r-- | schedutils/taskset.1 | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/schedutils/taskset.1 b/schedutils/taskset.1 new file mode 100644 index 0000000..71e7874 --- /dev/null +++ b/schedutils/taskset.1 @@ -0,0 +1,139 @@ +.\" taskset(1) manpage +.\" +.\" Copyright (C) 2004 Robert Love +.\" +.\" This is free documentation; you can redistribute it and/or +.\" modify it under the terms of the GNU General Public License, +.\" version 2, as published by the Free Software Foundation. +.\" +.\" The GNU General Public License's references to "object code" +.\" and "executables" are to be interpreted as the output of any +.\" document formatting or typesetting system, including +.\" intermediate and printed output. +.\" +.\" This manual is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License along +.\" with this program; if not, write to the Free Software Foundation, Inc., +.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.TH TASKSET 1 "August 2014" "util-linux" "User Commands" +.SH NAME +taskset \- set or retrieve a process's CPU affinity +.SH SYNOPSIS +.B taskset +[options] +.IR mask\ command\ [ argument ...] +.br +.B taskset +[options] +.B \-p +.RI [ mask ]\ pid +.SH DESCRIPTION +.B taskset +is used to set or retrieve the CPU affinity of a running process given its +\fIpid\fR, or to launch a new \fIcommand\fR with a given CPU affinity. +CPU affinity is a +scheduler property that "bonds" a process to a given set of CPUs on the system. +The Linux scheduler will honor the given CPU affinity and the process will not +run on any other CPUs. Note that the Linux scheduler also supports natural +CPU affinity: the scheduler attempts to keep processes on the same CPU as long +as practical for performance reasons. Therefore, forcing a specific CPU +affinity is useful only in certain applications. +.sp +The CPU affinity is represented as a bitmask, with the lowest order bit +corresponding to the first logical CPU and the highest order bit corresponding +to the last logical CPU. Not all CPUs may exist on a given system but a mask +may specify more CPUs than are present. A retrieved mask will reflect only the +bits that correspond to CPUs physically on the system. If an invalid mask is +given (i.e., one that corresponds to no valid CPUs on the current system) an +error is returned. The masks may be specified in hexadecimal (with or without +a leading "0x"), or as a CPU list with the +.B \-\-cpu\-list +option. For example, +.RS 4 +.TP 12 +.B 0x00000001 +is processor #0, +.TP +.B 0x00000003 +is processors #0 and #1, +.TP +.B 0xFFFFFFFF +is processors #0 through #31, +.TP +.B 32 +is processors #1, #4, and #5, +.TP +.B \-\-cpu\-list\ 0-2,6 +is processors #0, #1, #2, and #6. +.TP +.B \-\-cpu\-list\ 0-10:2 +is processors #0, #2, #4, #6, #8 and #10. The suffix ":N" specifies stride in +the range, for example 0-10:3 is interpreted as 0,3,6,9 list. +.RE +.PP +When +.B taskset +returns, it is guaranteed that the given program has been scheduled to a legal +CPU. +.SH OPTIONS +.TP +.BR \-a ,\ \-\-all\-tasks +Set or retrieve the CPU affinity of all the tasks (threads) for a given PID. +.TP +.BR \-c ,\ \-\-cpu\-list +Interpret \fImask\fR as numerical list of processors instead of a bitmask. +Numbers are separated by commas and may include ranges. For example: +.BR 0,5,8-11 . +.TP +.BR \-p ,\ \-\-pid +Operate on an existing PID and do not launch a new task. +.TP +.BR \-V ,\ \-\-version +Display version information and exit. +.TP +.BR \-h ,\ \-\-help +Display help text and exit. +.SH USAGE +.TP +The default behavior is to run a new command with a given affinity mask: +.B taskset +.I mask +.IR command\ [ arguments ] +.TP +You can also retrieve the CPU affinity of an existing task: +.B taskset \-p +.I pid +.TP +Or set it: +.B taskset \-p +.I mask pid +.SH PERMISSIONS +A user can change the CPU affinity of a process belonging to the same user. +A user must possess +.B CAP_SYS_NICE +to change the CPU affinity of a process belonging to another user. +A user can retrieve the affinity mask of any process. +.SH AUTHORS +Written by Robert M. Love. +.SH COPYRIGHT +Copyright \(co 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. +.SH SEE ALSO +.BR chrt (1), +.BR nice (1), +.BR renice (1), +.BR sched_getaffinity (2), +.BR sched_setaffinity (2) +.sp +See +.BR sched (7) +for a description of the Linux scheduling scheme. +.SH AVAILABILITY +The taskset command is part of the util-linux package and is available from +https://www.kernel.org/pub/linux/utils/util-linux/. |