summaryrefslogtreecommitdiffstats
path: root/schedutils/taskset.1
diff options
context:
space:
mode:
Diffstat (limited to 'schedutils/taskset.1')
-rw-r--r--schedutils/taskset.1139
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/.