libpool(3lib) 맨 페이지 - 윈디하나의 솔라나라

개요

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

libpool(3lib)

libpool(3LIB)                 Interface Libraries                libpool(3LIB)

NAME
       libpool - pool configuration manipulation library

SYNOPSIS
       cc [ flag... ] file... -lpool [ library... ]
       #include <pool.h>

DESCRIPTION
       The  functions  in  this  library  define the interface for reading and
       writing resource pool configuration files, as well as that for applying
       an existing configuration to  becoming  the  running  OS  configuration
       (with respect to partitioning subsystems). The <pool.h> header provides
       type and function declarations for all library services.


       The  resource pools facility brings together process-bindable resources
       into a common abstraction called a pool. The only  currently  supported
       resource  type  is  pset, which can be allocated or assigned cpu compo‐
       nents. Every pool is associated with a single pset. Pools can  be  con‐
       figured  in  a persistent fashion such that workloads can be associated
       with a subset of a system's total resources. The libpool  library  pro‐
       vides  a  C  language  API  for  accessing  this  functionality,  while
       pooladm(8), poolbind(8), and poolcfg(8) make  this  facility  available
       through  command  invocations  from a shell. Each of those manual pages
       describes aspects of the resource pools facility; this  page  describes
       the properties available to the various entities managed within the re‐
       source pools facility. These entities include the system, pool, and the
       pset resources and the cpu components.


       The  resource  pools facility cannot be used to modify psets created by
       psrset(8). This includes assigning or transferring CPUs  that  are  al‐
       ready  assigned  to  psrset(8)  psets. See psrset(8) to manipulate such
       psets.


       Each active entity within the resource pools framework can have an  ar‐
       bitrary collection of named, typed properties associated with it. Prop‐
       erties  supported  by the resource pools framework are listed, with de‐
       scriptions, under each entity below. In general, properties can be  one
       of five types: boolean (bool), signed (int64) and unsigned (uint64) in‐
       tegers, floating point (double), and string values.


       All  entities  support  a string property for commenting purposes; this
       property is available for use by management applications to record  de‐
       scriptions  and other administrator oriented data. The comment field is
       not used by the default pools commands, except when a configuration  is
       initiated  by the poolcfg utility, in which case an informative message
       is placed in the system.comment property for that configuration.

   System
       system.allocate-method

           Type: string

           Allocation method to use when this configuration is instantiated


       system.project-fallback-to-default

           Type: bool

           If project.pool of a project is not found, bind processes  in  that
           project to the pool the zone is currently bound to.


       system.zone-fallback-to-default

           Type: bool

           If  the specified pool of a zone is not found, bind the zone to the
           default pool. This property does not affect the global zone.


       system.comment

           Type: string

           User description of system


       system.version

           Type: int64

           libpool version required to manipulate this configuration


       system.poold.log-level

           Type: string

           poold logging level


       system.poold.log-location

           Type: string

           poold logging location


       system.poold.history-file

           Type: string

           poold decision history location


       system.poold.monitor-interval

           Type: uint64

           poold monitoring sample interval


       system.poold.objectives

           Type: string

           poold objectives for a system.



       The  system.allocate-method,  system.project-fallback-to-default,  sys‐
       tem.zone-fallback-to-default,  system.comment,  system.poold.log-level,
       system.poold.log-location, system.poold.history-file, system.poold.mon‐
       itor-interval, and system.poold.objectives properties are writable; the
       system.version property is not.


       Property system.bind-default is retained  for  backward  compatibility,
       and is aliased to system.project-fallback-to-default. This might be re‐
       moved in a future release of Oracle Solaris.


       The system.allocate-method property accepts only two values, importance
       based  and  surplus  to default. The default value for this property is
       importance based. The property is optional and if it is not present the
       library will allocate CPUs as though it were present and  had  the  de‐
       fault  value.  These  strings are defined in <pool.h> as POA_IMPORTANCE
       and POA_SURPLUS_TO_DEFAULT.


       If importance based allocation is defined, then  when  a  configuration
       file is applied, the library will allocate CPUs to psets using an algo‐
       rithm  that  observes minimum and maximum constraints for psets but fa‐
       vors those psets associated with pools of greater importance.


       If surplus to default is defined, then when a configuration file is ap‐
       plied, library will allocate minimum  CPUs  to  all  psets  apart  from
       pset_default which will receive any surplus.


       The  system.project-fallback-to-default property defaults to true. This
       property interacts with the project.pool property to specify the  bind‐
       ing  behavior  for processes associated with a project. If project.pool
       is not specified, then this property has no effect. If project.pool  is
       specified  and  the specified pool exists, this property has no effect.
       If the specified pool does not exist, perhaps because of a reconfigura‐
       tion, then this property controls the binding behavior for the  project
       member such as, if system.project-fallback-to-default is true, then the
       project member is bound to a pool that the zone (be it a global zone or
       a  non-global zone) is presently bound to; otherwise the project member
       is refused access to the system. Care should be  taken  with  the  pool
       configuration  if this property is set to false, so as to avoid denying
       users access to the system.


       The system.zone-fallback-to-default property defaults to  false.  If  a
       pool is not specified for a zone via the pool property in the zone con‐
       figuration then this property has no effect. If a pool is specified for
       a  zone  and  the zone binds to it, this property has no effect. If the
       pool specified in the zone config does not exist then system.zone-fall‐
       back-to-default controls the binding behavior for the zone. If  set  to
       true,  the  zone is bound to the default pool; otherwise the zone fails
       to boot and an error is printed.


       The various poold properties are used to  configure  the  operation  of
       poold(8).


       The system.poold.log-level property is used to specify the level of de‐
       tail  provided  in  log  messages.  Valid values are: ALERT, CRIT, ERR,
       WARNING, NOTICE, INFO, and DEBUG.


       ALERT provides the least level of detail, DEBUG the greatest. See  sys‐
       log(3C)  for  more information about the meaning of these debug levels.
       If this property is not specified, the default value NOTICE is used.


       The system.poold.log-location property is used to specify the  location
       of the logfiles generated by poold. The special value of "syslog" indi‐
       cates that logged messages should be written to syslog(). If this prop‐
       erty is not specified, the default location /var/log/pool is used.


       The  system.poold.history-file  specifies  the location of the decision
       history file which is used by poold to improve the quality of its deci‐
       sion making over time. If this property is not specified,  the  default
       location /var/adm/pool is used.


       The system.poold.monitor-interval property specifies the monitoring in‐
       terval  (in milliseconds) to be used by poold when sampling utilization
       statistics. If this property is not specified, the default value of  15
       seconds is used.


       The  system.poold.objectives  property specifies any system wide objec‐
       tives. An objectives property has the following syntax:

         objectives = objective [; objective]*
         objective = [n:] keyword [op] [value]



       All objectives are prefixed with an optional importance. The importance
       acts as a multiplier for the objective and thus increases the  signifi‐
       cance  of  its contribution to the objective function evaluation. If no
       importance is specified, the default value is 1.


       The wt-load objective is the only objective to which a  system  element
       can be set. This objective favors configurations that match cpu alloca‐
       tions to resource utilization. A pset with busier CPUs than other psets
       will be given more CPUs when this objective is active. An administrator
       should  use  this objective when they are relatively satisfied with the
       constraints established using the minimum and  maximum  properties  and
       would like the DRP to manipulate CPUs freely within those constraints.

   Pools
       pool.active        Type: bool

                          Mark this pool as active, if true.


       pool.comment       Type: string

                          User description of pool.


       pool.default       Type : bool

                          This  pool  as the default pool, if true. This prop‐
                          erty is read-only; see system.bind-default property.


       pool.importance    Type: int64

                          Relative importance of this pool; pools with  higher
                          importance  will be allocated more CPUs within their
                          pset.min and pset.max constraints.


       pool.name          Type: string

                          User name for pool; used by setproject(3PROJECT)  as
                          value   for   'project.pool'  project  attribute  in
                          project(5) database. This property is read-only  for
                          the pool with name pool_default.


       pool.scheduler     Type: string

                          Scheduler class to which consumers of this pool will
                          be bound. This property is optional and if not spec‐
                          ified,  the scheduler bindings for consumers of this
                          pool are not affected.


       pool.sys_id        Type: int64

                          System-assigned pool ID.


       pool.temporary     Type: bool

                          Marks this pool as a temporary; if true,  this  pool
                          can  exist  only  in  the  dynamic configuration and
                          never exists  in  a  configuration  file.  Temporary
                          pools  are  created  by the zonecfg(8) dedicated-cpu
                          resource and by pset_create(2)  or  psrset(8).  This
                          property is read-only.


       pool.legacy        Type: bool

                          If  true, this pool was created by pset_create(2) or
                          psrset(8). All properties of such a pool  are  read-
                          only.



       The  pool.default,  pool.sys_id,  and pool.temporary properties are not
       writable; all other listed properties are writable.


       If pool.scheduler is specified, it must be set to the name of  a  valid
       scheduling  class for the system. See the -l option for priocntl(1) for
       a list of valid class names.

   Psets
       pset.comment             Type: string

                                User description of pset.


       pset.default             Type: bool

                                Marks default pset.  This  property  is  read-
                                only.


       pset.load                Type: uint64

                                The load for this pset.


       pset.max                 Type: uint64

                                Maximum number of CPUs permitted in this pset.


       pset.min                 Type: uint64

                                Minimum number of CPUs permitted in this pset.


       pset.name                Type: string

                                User name for pset. This property is read only
                                for the pset with name pset_default.


       pset.policy              Type: string

                                One  of  minmax or strict. The default is min‐
                                max.


       pset.reslist             Type: string

                                A comma-separated list of CPU, core, or socket
                                IDs.


       pset.restype             Type: uint64

                                One of cpu, core, or socket.


       pset.size                Type: uint64

                                Current number of CPUs in this pset.


       pset.sys_id              Type: int64

                                System-assigned pset ID.


       pset.temporary           Type: bool

                                Marks this pset as a temporary. If true,  this
                                pset  can exist only in the dynamic configura‐
                                tion and never exists in a configuration file.
                                Temporary psets are created by the  zonecfg(8)
                                dedicated-cpu  resource  and by pset_create(2)
                                or psrset(8). This property is read-only.


       pset.legacy              Type: bool

                                If true, this pset was  created  by  pset_cre‐
                                ate(2) or this command. All properties of such
                                a pset are read-only.


       pset.type                Type: string

                                Set to pset. This property is read-only.


       pset.units               Type: string

                                Identifies meaning of size-related properties;
                                value for all psets is population.


       pset.poold.objectives    Type: string

                                Specifies the poold objectives for a pset.



       The  pset.default,  pset.load,  pset.size, pset.sys_id, pset.temporary,
       and pset.units properties are read only.


       The following properties are set by the poolcfg(8) to allocate and  as‐
       sign commands:

       pset.restype    Set to cpu-type of assign command.


       pset.policy     Defaults  to  minmax  for setting pset.min and pset.max
                       directly. Set to assigned by the assign command.


       pset.reslist    Set to a list of cpu, core, or socket ids by the assign
                       command.



       The pset.load property represents the load on a pset. The lowest  value
       for  this  property  is 0. The value of pset.load increases in a linear
       fashion with the load on the set, as measured by the number of jobs  in
       the system run queue.


       The pset.poold.objectives property specifies an objective which is spe‐
       cific  to  a particular pset. See the system.poold.objectives entry for
       the specification of this property's syntax.


       There are two types of objectives that can be set on a pset:

       locality       This objective influences the impact that  locality,  as
                      measured  by lgroup data, has upon the chosen configura‐
                      tion. This objective can take one of three values:

                      tight    If set, configurations that maximize CPU local‐
                               ity are favored.


                      loose    If set, configurations that minimize CPU local‐
                               ity are favored.


                      none     This is the default value for  this  objective.
                               If  set, configuration favorability is uninflu‐
                               enced by CPU locality.



       utilization    This objective favors configurations that allocate  CPUs
                      to psets that are failing to preserve the specified uti‐
                      lization objective.



       These objectives are specified in terms of an operator and a value. The
       operators are

       <    The  "less  than"  operator is used to indicate that the specified
            value should be treated as a maximum target value.


       >    The "greater than" operator is used to indicate that the specified
            value should be treated as a minimum target value.


       ~    The "about" operator is used to indicate that the specified  value
            should  be  treated as a target value about which some fluctuation
            is acceptable.



       Only one objective of each type of operator can be set. For example, if
       the ~ operator is set, the < and > operators cannot be set. It is  pos‐
       sible  to  set  a < and a > operator together; the values will be vali‐
       dated to ensure that they do not overlap.

   cpu
       cpu.comment    Type: string

                      User description of CPU.


       cpu.pinned     Type: bool

                      CPU pinned to this pset.


       cpu.status     Type: int64

                      Processor status. One of on-line, off-line, no-intr (in‐
                      terrupts disabled), faulted, or spare.


       cpu.sys_id     Type: int64

                      System-assigned processor ID.



       The cpu.comment, cpu.pinned, and cpu.status properties are writeable.


       The cpu.status property can be set only to the following values:

       off-line    Set the CPU offline.


       on-line     Set the CPU online.


       no-intr     Disable interrupt processing on the CPU.



       These values are defined in <sys/processor.h> as the PS_OFFLINE, PS_ON‐
       LINE, and PS_NOINTR macros.

INTERFACES
       The shared object libpool.so.1 provides the public  interfaces  defined
       below.  See intro(3) for additional information on shared object inter‐
       faces.


         pool_associate
         pool_component_info
         pool_component_to_elem
         pool_conf_alloc
         pool_conf_close
         pool_conf_commit
         pool_conf_export
         pool_conf_free
         pool_conf_info
         pool_conf_location
         pool_conf_open
         pool_conf_remove
         pool_conf_rollback
         pool_conf_status
         pool_conf_to_elem
         pool_conf_update
         pool_conf_validate
         pool_create
         pool_destroy
         pool_dissociate
         pool_dynamic_location
         pool_error
         pool_get_binding
         pool_get_owning_resource
         pool_get_pool
         pool_get_property
         pool_get_resource
         pool_get_resource_binding
         pool_get_status
         pool_info
         pool_is_readonly_property
         pool_put_property
         pool_query_components
         pool_query_pool_resources
         pool_query_pools
         pool_query_resource_components
         pool_query_resources
         pool_resource_create
         pool_resource_destroy
         pool_resource_info
         pool_resource_to_elem
         pool_resource_transfer
         pool_resource_type_list
         pool_resource_xtransfer
         pool_rm_property
         pool_set_binding
         pool_set_status
         pool_static_location
         pool_strerror
         pool_to_elem
         pool_value_alloc
         pool_value_free
         pool_value_get_bool
         pool_value_get_double
         pool_value_get_int64
         pool_value_get_name
         pool_value_get_string
         pool_value_get_type
         pool_value_get_uint64
         pool_value_set_bool
         pool_value_set_double
         pool_value_set_int64
         pool_value_set_name
         pool_value_set_string
         pool_value_set_uint64
         pool_version
         pool_walk_components
         pool_walk_pools
         pool_walk_properties
         pool_walk_resources


FILES
       /usr/lib/libpool.so.1       shared object


       /usr/lib/64/libpool.so.1    64-bit shared object


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/resource-mgmt/resource-pools  _
       CSIEnabled _ Interface StabilityUncommitted _ MT-LevelSafe


SEE ALSO
       attributes(7),          intro(3),           pool_component_info(3POOL),
       pool_conf_open(3POOL),   pool_conf_to_elem(3POOL),  pool_create(3POOL),
       pool_error(3POOL),  pool_get_binding(3POOL),  pool_get_property(3POOL),
       pool_get_resource(3POOL),  pool_resource_create(3POOL),  pool_value_al‐
       loc(3POOL), pool_walk_pools(3POOL), resource-management(7), smf(7)

NOTES
       Enabling the Resource Pools service will apply the default pool config‐
       uration file /etc/pooladm.conf, and it will continue  to  apply  it  on
       each system boot until the service is disabled.


       Since  the  Resource Pools service is a standard smf(7) service, it can
       also be enabled and disabled using the standard Service Management  Fa‐
       cility  (SMF)  interfaces.  The  pools service is svc:/system/pools:de‐
       fault.


       In prior versions of Solaris, the Resource Pools service needed  to  be
       enabled  in  order  for libpool, poolcfg(8), and pooladm(8) to function
       correctly. This is no longer the case. Enabling the Resource Pools ser‐
       vice now only functions to apply the pool configuration file.  The  re‐
       source  pools  commands and libraries may now be used even if the pools
       service is disabled.


       Resource pools now  also  support  being  used  at  the  same  time  as
       psrset(8)  psets.

Oracle Solaris 11.4               11 May 2021                    libpool(3LIB)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3