psrset —
control processor sets
  
    | psrset | -asetid
      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
      psrsetis run without any options, it behaves as
      if-iwere 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.
Thepsrset command first appeared in
  NetBSD 5.0.