System Administration Commands psrset(1M)
NAME
psrset - creation and management of processor sets
SYNOPSIS
psrset -a [-F] processor_set_id processor_id...
psrset -b processor_set_id pid [/lwpid]...
psrset -c [-F] [processor_id]...
psrset -d processor_set_id...
psrset -e processor_set_id command [argument(s)]
psrset -f processor_set_id
psrset [-i] [processor_set_id]...
psrset -n processor_set_id
psrset -p [processor_id]...
psrset [-q] [pid [/lwpid]]...
psrset -Q [processor_set_id]...
psrset -r [-F] processor_id...
psrset -u pid [/lwpid]...
psrset -U [processor_set_id]...
DESCRIPTION
The psrset utility controls the management of processor
sets. Processor sets allow the binding of processes or LWPsto groups of processors, rather than just a single proces-
sor. Processors assigned to processor sets can run only LWPs that have been bound to that processor set.SunOS 5.11 Last change: 25 Feb 2008 1
System Administration Commands psrset(1M)
This command cannot be used to modify processor disposition when pools are enabled. Use pooladm(1M) and poolcfg(1M) to modify processor set configuration through the resource pools facility. OPTIONS The following options are supported:-a Assign the specified processors to the specified pro-
cessor set. With the additional -F option, all LWPs
bound to the specified processors will be unbound prior to changing processor sets. This option is restricted to users with thePRIV_SYS_RES_CONFIG privilege.
-b Bind all or a subset of the LWPs of the specified
processes to the specified processor set. LWPs bound to a processor set are restricted to run only on the processors in that set. Processes can onlybe bound to non-empty processor sets, that is, proces-
sor sets that have had processors assigned to them. Bindings are inherited, so new LWPs and processes created by a bound LWP have the same binding. Binding an interactive shell to a processor, for example, binds all commands executed by the shell. This option is restricted to users with thePRIV_SYS_RES_CONFIG privilege.
-c Create a new processor set and displays the new pro-
cessor set ID. With the additional -F option, all LWPs
bound to the specified processors will be unbound prior to assigning them to the processor set being created. If a list of processors is given, it also attempts to assign those processors to the processor set. If this succeeds, the processors are idle until LWPs are bound to the processor set. This option is restricted tousers with the PRIV_SYS_RES_CONFIG privilege.
Only a limited number of processor sets can be active (created and not destroyed) at a given time. Thislimit is always be greater than the number of proces-
sors in the system. If the -c option is used when the
maximum number of processor sets is already active, the command fails.SunOS 5.11 Last change: 25 Feb 2008 2
System Administration Commands psrset(1M)
The following format is used for the first line ofoutput of the -c option when the LC_MESSAGES locale
category specifies the "C" locale. In other locales, the strings created, processor, and set can be replaced with more appropriate strings corresponding to the locale."created processor set %d\n" processor set ID
-d Remove the specified processor set, releasing all pro-
cessors and processes associated with it. This option is restricted to users with thePRIV_SYS_RES_CONFIG privilege.
-e Execute a command (with optional arguments) in the
specified processor set.The command process and any child processes are exe-
cuted only by processors in the processor set. This option is restricted to users with thePRIV_SYS_RES_CONFIG privilege.
-f Disables interrupts for all processors within the
specified processor set. See psradm(1M).If some processors in the set cannot have their inter-
rupts disabled, the other processors still have their interrupts disabled, and the command reports an errorand return non-zero exit status.
This option is restricted to users with thePRIV_SYS_RES_CONFIG privilege.
-F Forces the specified processor set operation by
unbinding all threads bound to the specified proces-
sor. Only the -a or the -r option can be used in com-
bination with this option. Administrators areencouraged to use the -Q option for pbind(1M) to find
out which threads will be affected by such operation.-i Display a list of processors assigned to each named
processor set. If no argument is given, a list of all processor sets and the processors assigned to them isSunOS 5.11 Last change: 25 Feb 2008 3
System Administration Commands psrset(1M)
displayed. This is also the default operation if thepsrset command is not given an option.
-n Enable interrupts for all processors within the speci-
fied processor set. See psradm(1M). This option is restricted to users with thePRIV_SYS_RES_CONFIG privilege.
-p Display the processor set assignments for the speci-
fied list of processors. If no argument is given, the processor set assignments for all processors in the system is given.-q Display the processor set bindings of the specified
processes or of all processes. If a process is com-
posed of multiple LWPs which have different bindingsand the LWPs are not explicitly specified, the bind-
ings of only one of the bound LWPs is displayed. The bindings of a subset of LWPs can be displayed by appending "/lwpids" to the process IDs. Multiple LWPsmay be selected using "-" and "," delimiters. See
EXAMPLES.
-Q Display the LWPs bound to the specified list of pro-
cessor sets, or all LWPs with processor set bindings.-r Remove a list of processors from their current proces-
sor sets. Processors that are removed return to the general pool of processors. Processors with LWPs bound to them using pbind(1M) can be assigned to or removed from processor sets usingthe -F option.
This option is restricted to users with thePRIV_SYS_RES_CONFIG privilege.
-u Remove the processor set bindings of a subset or all
the LWPs of the specified processes, allowing them tobe executed on any on-line processor if they are not
bound to individual processors through pbind.Users with the PRIV_SYS_RES_CONFIG privilege can
unbind any process or LWP from any active processor set. Other users can unbind processes and LWPs fromSunOS 5.11 Last change: 25 Feb 2008 4
System Administration Commands psrset(1M)
processor sets that do not have the PSET_NOESCAPE
attribute set. In addition, the user must have permis-
sion to control the affected processes; the real or effective user ID of the user must match the real or saved user ID of the target processes.-U Removes the bindings of all LWPs bound to the speci-
fied list of processor sets, or to any processor set if no argument is specified. OPERANDS The following operands are supported: pid Specify pid as a process ID.lwpid The set of LWPIDs of the specified pro-
cess to be controlled or queried. Thesyntax for selecting LWP IDs is as fol-
lows:2,3,4-8 LWP IDs 2, 3, and 4 through 8
-4 LWPs whose IDs are 4 or below
4- LWPs whose IDs are 4 or above
processor_id Specify processor_id as an individual
processor number (for example, 3), mul-
tiple processor numbers separated by spaces (for example, 1 2 3), or a rangeof processor numbers (for example, 1-4).
It is also possible to combine ranges and (individual or multiple)processor_ids (for example, 1-3 5 7-8
9).processor_set_id Specify processor_set_id as a processor
set ID. EXIT STATUS The following exit values are returned: 0 Successful completion.non-0 An error occurred.
SunOS 5.11 Last change: 25 Feb 2008 5
System Administration Commands psrset(1M)
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcs ||_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
SEE ALSO
pbind(1M), pooladm(1M), poolcfg(1M), psradm(1M),psrinfo(1M), processor_bind(2), processor_info(2),
pset_bind(2), pset_create(2), pset_info(2), sysconf(3C),
libpool(3LIB), attributes(5), privileges(5) DIAGNOSTICS The following output indicates that the specified process did not exist or has exited:psrset: cannot query pid 31: No such process
The following output indicates that the user does not have permission to bind the process:psrset: cannot bind pid 31: Not owner
The following output indicates that the user does not have permission to assign the processor:psrset: cannot assign processor 4: Not owner
The following output indicates that the specified processoris not on-line, or the specified processor does not exist.
psrset: cannot assign processor 8: Invalid argument
SunOS 5.11 Last change: 25 Feb 2008 6
System Administration Commands psrset(1M)
The following output indicates that an LWP in the specified process is bound to a processor and cannot be bound to a processor set that does not include that processor:psrset: cannot bind pid 67: Device busy
The following output indicates that the specified processor could not be added to the processor set. This can be due tobound LWPs on that processor, or because that processor can-
not be combined in the same processor set with other proces-
sors in that set, or because the processor is the last one in its current processor set:psrset: cannot assign processor 7: Device busy
The following output indicates that the specified processor set does not exist:psrset: cannot execute in processor set 8: Invalid argument
The following output indicates that the maximum number of processor sets allowed in the system is already active:psrset: cannot create processor set: Not enough space
The following output indicates that the pools facility is active.psrset: cannot assign processor 7: Operation not supported
psrset: cannot bind pid 31: Operation not supported
psrset: cannot bind pid 31: Operation not supported
psrset: could not create processor set: Operation not supported
psrset: could not remove processor set 1: Operation not supported
psrset: cannot exec in processor set 1: Operation not supported
psrset: cannot remove processor 7: Operation not supported
psrset: cannot unbind pid 31: Operation not supported
SunOS 5.11 Last change: 25 Feb 2008 7