svcadm(1M)을 검색하려면 섹션에서 1M 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
psrset(8)
System Administration Commands psrset(8)
NAME
psrset - creation and management of psets
SYNOPSIS
psrset -a [-F] pset_id processor_id...
psrset -b pset_id pid [/lwpid]...
psrset -c [-F] [processor_id]...
psrset -d pset_id...
psrset -e pset_id command [argument(s)]
psrset -f pset_id
psrset [-i] [pset_id]...
psrset -n pset_id
psrset -p [processor_id]...
psrset [-q] [pid [/lwpid]]...
psrset -Q [pset_id]...
psrset -r [-F] processor_id...
psrset -u pid [/lwpid]...
psrset -U [pset_id]...
DESCRIPTION
The psrset utility controls the management of psets. Psets allow the
binding of processes or LWPs to groups of processors, rather than just
a single processor. Processors assigned to psets can run only LWPs that
have been bound to that pset.
This command cannot be used to modify or bind to psets created by the
resource pools framework. These psets are referred to as pool psets.
This includes assigning processors that are already allocated or
assigned to pool psets. Use pooladm(8), poolcfg(8), and poolbind(8) to
modify and bind to pool psets.
Aside from the default processor set, only processes and/or LWPs from a
single zone can be bound to each processor set at any given time.
OPTIONS
The following options are supported:
-a Assign the specified processors to the specified processor set.
With the additional -F option, all LWPs bound to the specified
processors will be unbound prior to changing psets.
This option is restricted to users with the PRIV_SYS_RES_CONFIG
privilege.
The target pset cannot be a pool pset. Also, any specified pro‐
cessors that are already allocated or assigned to a pool pset
cannot be assigned to a pset by psrset(8). To manipulate proces‐
sors assigned to pool psets, use the pool utilities. See pool‐
cfg(8).
-b Bind all or a subset of the LWPs of the specified processes to
the specified pset.
LWPs bound to a pset are restricted to run only on the processors
in that set. Processes can only be bound to non-empty psets, that
is, psets 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 the PRIV_SYS_RES_CONFIG
privilege.
Only psets created by psrset(8) are valid binding targets. Pool
psets are not valid binding targets. See poolcfg(8) and pool‐
bind(8).
Zones which are using the dedicated-cpu resource, or are bound to
a pool pset via the pool property, may not have individual pro‐
cesses or threads bound to other psets, including the default
pset, those created by this command, and other pool psets. Bind‐
ing processes or threads belonging to such a zone will fail.
-c Create a new pset and displays the new processor set ID. With the
additional -F option, all LWPs bound to the specified processors
will be unbound prior to assigning them to the pset being cre‐
ated.
If a list of processors is given, it also attempts to assign
those processors to the pset. If this succeeds, the processors
are idle until LWPs are bound to the pset. This option is
restricted to users with the PRIV_SYS_RES_CONFIG privilege.
Any specified processors that are already allocated or assigned
to a pool pset cannot be assigned to a pset by psrset(8). To
manipulate processors assigned to pool psets, use the pool utili‐
ties. See poolcfg(8).
Only a limited number of psets can be active (created and not
destroyed) at a given time. This limit is always greater than the
number of processors in the system. If the -c option is used when
the maximum number of psets is already active, the command fails.
The following format is used for the first line of output 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 pset, releasing all processors and processes
associated with it.
This option is restricted to users with the PRIV_SYS_RES_CONFIG
privilege.
Only psets created by this command are valid targets.
-e Execute a command (with optional arguments) in the specified
pset.
The command process and any child processes are executed only by
processors in the pset.
This option is restricted to users with the PRIV_SYS_RES_CONFIG
privilege.
Only psets created by this command are valid targets.
-f Disables interrupts for all processors within the specified pset.
See psradm(8).
If some processors in the set cannot have their interrupts dis‐
abled, the other processors still have their interrupts disabled,
and the command reports an error and return non-zero exit status.
This option is restricted to users with the PRIV_SYS_RES_CONFIG
privilege.
-F Forces the specified pset operation by unbinding all threads
bound to the specified processor. Only the -a, -c, or the -r
option can be used in combination with this option. Administra‐
tors are encouraged to use the -Q option for pbind(8) to find out
which threads will be affected by such operation.
-i Display a list of processors assigned to each named pset. If no
argument is given, a list of all psets and the processors
assigned to them is displayed. This is also the default operation
if the psrset command is not given an option.
-n Enable interrupts for all processors within the specified pset.
See psradm(8).
This option is restricted to users with the PRIV_SYS_RES_CONFIG
privilege.
-p Display the pset assignments for the specified list of proces‐
sors. If no argument is given, the pset assignments for all pro‐
cessors in the system is given.
-q Display the pset bindings of the specified processes or of all
processes. If a process is composed of multiple LWPs which have
different bindings and the LWPs are not explicitly specified, the
bindings 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 LWPs may be selected using - and , delim‐
iters. See EXAMPLES.
-Q Display the LWPs bound to the specified list of processor sets,
or all LWPs with pset bindings.
-r Remove a list of processors from their current processor sets.
Processors that are removed return to the general pool of proces‐
sors, also known as the default pset in the resource pools frame‐
work.
Processors with LWPs bound to them using pbind(8) can be assigned
to or removed from psets using the -F option.
This option is restricted to users with the PRIV_SYS_RES_CONFIG
privilege.
The target pset cannot be in a pool pset. To manipulate proces‐
sors assigned to pool psets, use the pool utilities. See pool‐
cfg(8).
-u Remove the pset bindings of a subset or all the LWPs of the spec‐
ified processes, allowing them to be executed on any on-line pro‐
cessor 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 pset. Other users can unbind pro‐
cesses and LWPs from psets that do not have the PSET_NOESCAPE
attribute set. In addition, the user must have permission to con‐
trol the affected processes; the real or effective user ID of the
user must match the real or saved user ID of the target pro‐
cesses.
Zones which are using dedicated-cpu, or are bound to a pool pset,
may not have individual processes or threads unbound. Unbinding
processes or threads belonging to such a zone will fail.
-U Removes the bindings of all LWPs bound to the specified list of
psets, or to any pset if no argument is specified.
Only psets created by psrset(8) are valid unbind targets. Pool
psets are not valid unbind targets. Use poolbind(8) to bind pro‐
cesses bound to regular pools to the default pool.
OPERANDS
The following operands are supported:
pid Specify pid as a process ID.
lwpid The set of LWP IDs of the specified process to be con‐
trolled or queried. The syntax for selecting LWP IDs is
as follows:
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), multiple processor numbers separated
by spaces (for example, 1 2 3), or a range of processor
numbers (for example, 1-4). It is also possible to com‐
bine ranges and (individual or multiple) processor_ids
(for example, 1-3 5 7-8 9).
pset_id Specify pset_id as a processor set ID.
EXIT STATUS
The following exit values are returned:
0 Successful completion.
non-0 An error occurred.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
TRIBUTE VALUE _ Availabilitysystem/core-os _ Interface StabilityCommit‐
ted
SEE ALSO
attributes(7), libpool(3LIB), pbind(8), pooladm(8), poolbind(8), pool‐
cfg(8), privileges(7), processor_bind(2), processor_info(2),
pset_bind(2), pset_create(2), pset_info(2), psradm(8), psrinfo(8),
resource-management(7), sysconf(3C)
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: Insufficient privileges
The following output indicates that the user does not have permission
to assign the processor:
psrset: cannot assign processor 4: Insufficient privileges
The following output indicates that the specified processor is not on-
line, or the specified processor does not exist.
psrset: cannot assign processor 8: Invalid argument
The following output indicates that an LWP in the specified process is
bound to a processor and cannot be bound to a pset 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 pset. This can be due to bound LWPs on that processor,
or because that processor cannot be combined in the same pset with
other processors in that set, or because the processor is the last one
in its current pset:
psrset: cannot assign processor 7: Device busy
The following output indicates that the specified pset does not exist:
psrset: cannot execute in processor set 8: Invalid argument
The following output indicates that the maximum number of psets allowed
in the system is already active:
psrset: cannot create processor set: Cannot allocate memory
The following output indicates that the target pset was created by the
resource pools facility:
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 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
Oracle Solaris 11.4 18 August 2020 psrset(8)