psrset
—
control processor sets
psrset |
-a setid
cpuid ... |
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.
The psrset
command first appeared in
NetBSD 5.0.