svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
zs_zone(3zonestat)
Zones Statistics Library Functions zs_zone(3ZONESTAT)
NAME
zs_zone, zs_zone_list, zs_zone_walk, zs_zone_property,
zs_zone_limit_type, zs_zone_limit_uint64, zs_zone_limit_used_uint64,
zs_zone_limit_time, zs_zone_limit_used_time, zs_zone_limit_used_pct -
libzonestat zone accessor methods
SYNOPSIS
cc [ flag ... ] file... -lzonestat [ library ... ]
#include <zonestat.h>
int zs_zone_list(zs_usage_t usage, zs_zone_t *zonelist, int num);
zs_zone_t zs_zone_walk(zs_usage_t usage, zs_zone_t zone);
zs_property_t zs_zone_property(zs_zone_t zone,
zs_zone_property_t prop);
zs_limit_type_t zs_zone_limit_type(zs_limit_t limit);
uint64_t zs_zone_limit_uint64(zs_zone_t zone, zs_limit_t limit);
uint64_t zs_zone_limit_used_uint64(zs_zone_t zone, zs_limit_t limit);
void zs_zone_limit_time(zs_zone_t zone, zs_limit_t limit,
timestruc_t *ts);
void zs_zone_limit_used_time(zs_zone_t zone, zs_limit_t limit,
timestruc_t *ts);
uint_t zs_zone_limit_used_pct(zs_zone_t zone, zs_limit_t limit);
DESCRIPTION
These functions are used to access the zones in the usage object. These
zones are the zones which were running at the time when the
zs_usage_read(3ZONESTAT) was called and returned the usage object.
The zs_zone_list() function returns the number of zs_zone_t objects
contained within usage. If zonelist is non-null, the zonelist array
will be filled with up to num zs_zone_t objects. The zonelist array
must be first allocated by the caller. The first zone returned in the
array will always be the global zone. The remaining zones will be in
alphanumeric ordered by zone name.
The zs_zone_walk() function walks the list of zones in usage. If zone
is NULL, the first zone will be returned, which is always the global
zone. Otherwise, zones are returned in alphanumeric order. If there are
no more zones in usage, NULL is returned.
The zs_zone_property() function returns a property of zone based on
property. See libzonestat(3LIB) for a description of the ZS_ZONE_PROP_*
property codes.
The zs_zone_limit_type() function returns the data type of the zone
limit limit. See libzonestat(3LIB) for the description of the
ZS_LIMIT_* limit codes. The following types can be returned:
ZS_LIMIT_TYPE_TIME The limit and its usage can be fetched in terms
of time. This limit can be passed to
zs_zone_limit_time() and
zs_zone_limit_used_time(), as well as all other
zs_zone_limit_*() functions.
ZS_LIMIT_TYPE_COUNT The limit reflects a quantity of discrete
objects. For instance, a limit on the number of
processes.
ZS_LIMIT_TYPE_BYTES The limit reflects a quantity of bytes.
The zs_zone_limit_uint64() function returns the value of the configured
limit on zone. If limit is not configured for zone, ZS_LIMIT_NONE is
returned. For example, zone may not be configured with the ZS_LIMIT_CPU
limit.
The zs_zone_limit_used_uint64() function returns the usage by zone of
the resource capped by limit. If limit is not configured for zone,
ZS_LIMIT_NONE is returned. For example, zone may not be configured with
the ZS_LIMIT_CPU limit.
The zs_zone_limit_time() function sets ts to the quantity of time
available to zone by the configured limit. ts must be allocated by the
caller. For example, if zone has a ZS_LIMIT_CPU of 200, meaning 2 CPUs
and the zone has been running for 10 seconds, then the quantity of time
available to the zone would be 20 seconds (2 CPUs * 10 seconds). If
limit is not configured for the zone, ts is set to zero seconds and
nanoseconds. This function can be called only if limit is of type
ZS_LIMIT_TYPE_TIME.
The zs_zone_limit_used_time() function sets ts to the quantity of time
used by zone on the resource capped by limit. ts must be allocated by
the caller. If limit is not configured for the zone, ts is set to zero
seconds and nanoseconds. This function can be called only if limit is
of type ZS_LIMIT_TYPE_TIME.
The zs_zone_limit_used_pct() function returns the percent of limit used
by zone. The value returned is the percentage * 100. For instance, 50
percent is returned as 5000. If limit is not configured for zone,
ZS_PCT_NONE is returned.
All the ZS_LIMIT_* limit codes are described in libzonestat(3LIB).
RETURN VALUES
See Description.
ERRORS
If a zs_zone_*() function is called with an invalid limit code, the
function will abort with abort(3C).
EXAMPLES
Example 1 Retrieve information about each zone in a usage object.
The following example traverses all zones in a usage object, retrieving
information about each zone.
#include <zonestat.h>
...
extern zs_usage_t usage; /* assume returned by zs_usage_read() */
...
zs_zone_t zone;
zs_property_t prop;
char * zonename;
uint64_t maxprocs;
uint64_t usedprocs;
for (zone = zs_zone_first(usage); zone != NULL;
zone = zs_zone_next(usage, zone)) {
/* Get zonename */
prop = zs_zone_property(zone, ZS_ZONE_PROP_NAME);
zonename = zs_property_string(prop));
/* Get max and used processes */
maxprocs = zs_zone_limit_uint64(zone, ZS_LIMIT_PROCESSES);
usedprocs = zs_zone_limit_used_uint64(zone, ZS_LIMIT_PROCESSES);
}
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_open(3ZONESTAT), zs_property(3ZONESTAT), zs_pset(3ZONESTAT),
zs_pset_zone(3ZONESTAT), zs_resource(3ZONESTAT), zs_usage(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_zone(3ZONESTAT)