taskset



TASKSET(1)                    Linux User’s Manual                   TASKSET(1)




NAME

       taskset - retrieve or set a processes’s CPU affinity


SYNOPSIS

       taskset [options] [mask | list ] [pid | command [arg]...]


DESCRIPTION

       taskset  is  used to set or retrieve the CPU affinity of a running pro-
       cess given its PID or to launch a new COMMAND with a given  CPU  affin-
       ity.   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 practi-
       cal for performance reasons.  Therefore, forcing a specific CPU  affin-
       ity is useful only in certain applications.

       The CPU affinity is represented as a bitmask, with the lowest order bit
       corresponding to the first logical CPU and the highest order bit corre-
       sponding  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
       are typically given in hexadecimal.  For example,

       0x00000001
              is processor #0

       0x00000003
              is processors #0 and #1

       0xFFFFFFFF
              is all processors (#0 through #31)

       When taskset returns, it is guaranteed that the given program has  been
       scheduled to a legal CPU.


OPTIONS

       -p, --pid
              operate on an existing PID and not launch a new task

       -c, --cpu-list
              specifiy  a  numerical  list of processors instead of a bitmask.
              The list may contain multiple items,  separated  by  comma,  and
              ranges.  For example, 0,5,7,9-11.

       -h, --help
              display usage information and exit

       -V, --version
              output version information and exit


USAGE

       The  default  behavior  is  to  run a new command with a given affinity
       mask:
              taskset [mask] -- [command] [arguments]

       You can also retrieve the CPU affinity of an existing task:
              taskset -p [pid]

       Or set it:
              taskset -p [mask] [pid]


PERMISSIONS

       A  user  must possess CAP_SYS_NICE to change the CPU affinity of a pro-
       cess.  Any user can retrieve the affinity mask.


AUTHOR

       Written by Robert M. Love.


REPORTING BUGS

       Report bugs to <rml@tech9.net>.


COPYRIGHT

       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.


SEE ALSO

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

       See  sched_setscheduler(2)  for  a  description of the Linux scheduling
       scheme.



schedutils                         Apr 2003                         TASKSET(1)

Man(1) output converted with man2html