psrset(8) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

psrset(8)

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 as‐
       signed 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
             processors  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
             processes 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  re‐
             stricted 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  ma‐
             nipulate  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 de‐
             stroyed) 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 op‐
             tion can be used in combination with this option.  Administrators
             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 as‐
             signed 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
             processors 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
             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  pset. Other users can unbind
             processes 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
             processes.

             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
             processes 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), re‐
       source-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  in‐
       clude 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)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3