PSRSET(8)

NAME
psrset - control processor sets

SYNOPSIS
psrset [setid ...]
psrset -a setid cpuid ...
psrset -b setid pid ...
psrset -c [cpuid ...]
psrset -d setid
psrset -e setid command
psrset -i [setid ...]
psrset -p
psrset -r cpuid ...
psrset -u pid ...

DESCRIPTION
The psrset command can be used to control and inspect processor sets.

The system always contains at least one processor set: the default set. The default set must contain at least one online processor (CPU) at all times.

Where the system has symmetric multithreading (SMT), is is recommended that CPUs representing different threads within a single core are not assigned to different processor sets.

Available options:

-a  Assign one or more processors (CPUs) to the set setid. In the current implementation, a CPU may only be present in one set. CPU IDs are as reported and used by the cpuctl(8) command.

-b  Bind one or more processes to the set setid. All LWPs within the processes will be affected. Bindings are inherited when new LWPs or processes are forked. However, setting a new binding on a parent process does not affect the bindings of its existing child processes.

-c  Create a new processor set. If successful, the ID of the new set will be printed. If a list of CPU IDs is provided, those CPUs will be assigned to the set upon creation. Otherwise, the set will be created empty.

-d  Delete the processor set specified by setid. Any LWPs bound to the set will be re-bound to the default processor set.

-e  Execute a command within the processor set specified by setid.

-i  List all processor sets. For each set, print the member CPUs. If psrset is run without any options, it behaves as if -i were given.

-p  List all CPUs. For each CPU, print the associated processor set.

-r  Remove a CPU from its current set, and return it back to the default processor set.

-u  Bind the specified processes to the system default processor set.

SEE ALSO
pset(3), cpuctl(8), schedctl(8)

HISTORY
The psrset command first appeared in NetBSD 5.0.