zs_pset_zone(3zonestat) 맨 페이지 - 윈디하나의 솔라나라

개요

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

zs_pset_zone(3zonestat)

zs_...one(3ZONESTAT)  Zones Statistics Library Functions  zs_...one(3ZONESTAT)

NAME
       zs_pset_zone,           zs_pset_zone_list,           zs_pset_zone_walk,
       zs_pset_zone_get_zone,  zs_pset_zone_get_pset,   zs_pset_zone_property,
       zs_pset_zone_used_time, zs_pset_zone_used_cpus, zs_pset_zone_used_pct -
       libzonestat accessor methods for per-zone utilization of psets

SYNOPSIS
       cc [ flag ... ] file... -lzonestat [ library ... ]
       #include <zonestat.h>

       int zs_pset_zone_list(zs_pset_t pset, zs_pset_zone_t *pzlist, int num);


       zs_pset_zone_t zs_pset_zone_walk(zs_pset_t pset, zs_pset_zone_t pz);


       zs_zone_t zs_pset_zone_get_zone(zs_pset_zone_t pz);


       zs_pset_t zs_pset_zone_get_pset(zs_pset_zone_t pz);


       zs_property_t zs_pset_zone_property(zs_pset_zone_t pz,
            zs_pz_property_t prop);


       void zs_pset_zone_used_time(zs_pset_zone_t pz, timestruc_t *ts);


       uint64_t zs_pset_zone_used_cpus(zs_pset_zone_t pz);


       uint_t zs_pset_zone_used_pct(zs_pset_zone_t pz, zs_pz_pct_t pct);

DESCRIPTION
       These functions are used to access the per-zone utilization information
       for a given pset. Each pset will have zero or more zones bound to it.


       Typically,  a  zone  will be bound to a single pset, but it is possible
       for the global zone to be bound to multiple  psets,  as  well  as  non-
       global zones if psrset(8) psets are used.


       If  a zone is bound to multiple psets, it's CPUs shares will be applied
       to each pset. For instance, if a zone has 10 shares, and has  processes
       in  both  pset  A and pset B, then the zone will have 10 shares in both
       pset A and pset B. The relative value of those shares  will  depend  on
       the  other  zones  running  in each pset, and how many shares the other
       zones have.


       If a zone is bound to multiple psets,  then  its  CPU  cap  is  applied
       across  all  psets. The zone may use up to its cap in CPU time. Some of
       this time could be spent in pset A, and the rest in pset B.  Each  zone
       does not get its full CPU cap per pset.


       The  zs_pset_zone_list()  function returns the number of zs_pset_zone_t
       objects contained within pset. If pzlist is non-NULL, the pzlist  array
       will be filled with up to num  zs_pset_zone_t objects. The pzlist array
       must  be first allocated by the caller. The zs_pset_zone_t objects will
       be returned in alphanumeric ordered by zone name.


       The zs_pset_zone_walk() function is used to walk the list of zones  us‐
       ing  a pset. Zones are walked in alphanumeric order. If pz is NULL, the
       first zone is returned, otherwise the zone after pz is  returned.  NULL
       is returned if there are no more zones using the pset.


       The  zs_pset_zone_get_zone() function returns the zs_zone_t object rep‐
       resenting the zone for pz.


       The zs_pset_zone_get_pset() function returns the zs_pset_t object  rep‐
       resenting the pset for pz.


       The zs_pset_zone_property() function will return the prop property of a
       pz.  See  libzonestat(3LIB) for a description of the ZS_PZ_PROP_* prop‐
       erty codes.


       The zs_pset_zone_used_time() function sets ts to  the  total  CPU  time
       that  has  been used in the pset by the zone, starting at zero from the
       point when zs_open(3ZONESTAT) was first called.


       The zs_pset_zone_used_cpus() function returns the number of  CPUs  used
       by  multiplying with 100. For example, if the zone used 1.5 CPUs in the
       pset, the returned value will be 150.


       The zs_pset_zone_used_pct() function returns the percentage of pct used
       by the zone in the pset. See the description of the  ZS_PZ_PCT_*  codes
       on the libzonestat(3LIB) manual page.

RETURN VALUES
       See Description.

ERRORS
       If  a  zs_pset_zone_*()  function is called with an invalid property or
       pct code, the function will abort with abort(3C).

EXAMPLES
       Example 1 Walk the list of zones and retrieve CPU data.



       The following example walks the list of zones using the  default  pset,
       retrieving  both  the CPU shares and CPU cap, as well as the percent of
       each used.


         #include <zonestat.h>
         #include <strings.h>
         ...
         extern zs_usage_t usage;        /* assume returned by zs_usage_read() */
         ...
         zs_pset_t pset;
         zs_pset_zone_t pz;
         zs_property_t prop;
         char *psetname;
         char *zonename;
         uint64_t shares;
         uint64_t cap;
         uint_t pct_shares;
         uint_t pct_cap;

         /* Get default pset and name, which is always the first pset */
         pset = zs_pset_first(usage);
         zs_pset_property(pset, ZS_PROP_PSET_NAME prop);
         psetname = strdup(zs_property_string(prop));

         for (pz = zs_pset_zone_first(pset); pz != NULL;
             pz = zs_pset_zone_next(pset, pz)) {

             /* Get name of zone */
             zone = zs_pset_zone_get_zone(pz);
             prop = zs_zone_property(pset, ZS_PROP_ZONE_NAME);
             zonename = strdup(zs_property_string(prop));

             /* get shares and cap */
             prop = zs_pset_zone_property(pz, ZS_PZ_PROP_CPU_SHARES);
             shares = zs_property_uint64(prop);
             prop = zs_pset_zone_property(pz, ZS_PZ_PROP_CPU_CAP);
             cap = zs_property_uint64(prop);

             /* get percent used of shares and cap */
             pct_shares = zs_pset_zone_used_pct(pz, ZS_PZ_PCT_CPU_SHARE);
             pct_cap = zs_pset_used_cpus(pz, ZS_PZ_PCT_CPU_CAP);
         }



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 _ Interface StabilityCommitted _ MT-LevelSafe


SEE ALSO
       zonestat(1), abort(3C), libpool(3LIB), libzonestat(3LIB), zs_open(3ZON‐
       ESTAT), zs_property(3ZONESTAT), zs_pset(3ZONESTAT), zs_resource(3ZONES‐
       TAT), zs_usage(3ZONESTAT), zs_zone(3ZONESTAT), attributes(7), resource-
       controls(7),  pooladm(8),  psrset(8),  rcapadm(8), swap(8), zoneadm(8),
       zonestatd(8)

Oracle Solaris 11.4               13 Nov 2020             zs_...one(3ZONESTAT)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3