FreeBSD Manual Pages
CPUSET(1) BSD General Commands Manual CPUSET(1) NAME cpuset -- configure processor sets SYNOPSIS cpuset [-l cpu-list] [-s setid] cmd cpuset [-l cpu-list] [-s setid] -p pid cpuset [-cr] [-l cpu-list] [-j jailid | -p pid | -r tid | -s setid | -x irq] cpuset [-cgir] [-j jailid | -p pid | -r tid | -s setid | -x irq] DESCRIPTION The cpuset command can be used to assign processor sets to processes, run commands constrained to a given set or list of processors, and query in- formation about processor binding, sets, and available processors in the system. cpuset requires a target to modify or query. The target may be specified as a command, process id, thread id, a cpuset id, an irq or a jail id. Using -g the target's set id or mask may be queried. Using -l or -s the target's CPU mask or set id may be set. If no target is specified, cpuset operates on itself. Not all combinations of operations and tar- gets are supported. For example, you may not set the id of an existing set or query and launch a command at the same time. There are two sets applicable to each process and one private mask per thread. Every process in the system belongs to a cpuset. By default processes are started in set 1. The mask or id may be queried using -c. Each thread also has a private mask of CPUs it is allowed to run on that must be a subset of the assigned set. And finally, there is a root set, numbered 0, that is immutable. This last set is the list of all possible CPUs in the system and is queried using -r. When running a command it may join a set specified with -s otherwise a new set is created. In addition, a mask for the command may be specified using -l. When used in conjunction with -c the mask modifies the sup- plied or created set rather than the private mask for the thread. The options are as follows: -c The requested operation should reference the cpuset avail- able via the target specifier. -g Causes cpuset to print either a list of valid CPUs or, using -i, the id of the target. -i When used with the -g option print the id rather than the valid mask of the target. -j jailid Specifies a jail id as the target of the operation. -l cpu-list Specifies a list of CPUs to apply to a target. Specifica- tion may include numbers seperated by '-' for ranges and commas separating individual numbers. -p pid Specifies a pid as the target of the operation. -s setid Specifies a set id as the target of the operation. -r The requested operation should reference the root set avail- able via the target specifier. -t tid Specifies a thread id as the target of the operation. -x irq Specifies an irq as the target of the operation. EXIT STATUS The cpuset utility exits 0 on success, and >0 if an error occurs. EXAMPLES Create a new group with CPUs 0-4 inclusive and run /bin/sh on it: cpuset -c -l 0-4 /bin/sh Query the mask of CPUs the <sh pid> is allowed to run on: cpuset -g -p <sh pid> Restrict /bin/sh to run on CPUs 0 and 2 while its group is still allowed to run on CPUs 0-4: cpuset -l 0,2 -p <sh pid> Modify the cpuset /bin/sh belongs to restricting it to CPUs 0 and 2: cpuset -l 0,2 -c -p <sh pid> Modify the cpuset all threads are in by default to contain only the first 4 CPUs, leaving the rest idle: cpuset -l 0-3 -s 1 Print the id of the cpuset /bin/sh is in: cpuset -g -i -p <sh pid> Move the pid into the specified cpuset setid so it may be managed with other pids in that set: cpuset -s <setid> -p <pid> SEE ALSO cpuset(2) HISTORY The cpuset command first appeared in FreeBSD 7.1. AUTHORS Jeffrey Roberson <jeff@FreeBSD.org> BUGS At the moment it is possible for a superuser inside a jail(8) to modify the root cpuset(2) of that jail. BSD November 29, 2008 BSD
NAME | SYNOPSIS | DESCRIPTION | EXIT STATUS | EXAMPLES | SEE ALSO | HISTORY | AUTHORS | BUGS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cpuset&sektion=1&manpath=FreeBSD+7.2-RELEASE>