cc [ flag ... ] file... -lzonestat [ libary ... ] #include <zonestat.h> zs_property_t zs_resource_property(zs_usage_t usage, zs_resource_property_t prop);
zs_resource_type_t zs_resource_type(zs_resource_t resource);
uint64_t zs_resource_total_uint64(zs_usage_t usage, zs_resource_t resource);
void zs_resource_total_time(zs_usage_t usage, zs_resource_t resource, timestruc_t *ts);
uint64_t zs_resource_used_uint64(zs_usage_t usage, zs_resource_t resource, zs_user_t user);
void zs_resource_used_time(zs_usage_t usage, zs_resource_t resource, zs_user_t user, timestruc_t *ts);
uint_t zs_resource_used_pct(zs_usage_t usage, zs_resource_t resource, zs_user_t user);
uint64_t zs_resource_used_zone_uint64(zs_zone_t zone, zs_resource_t resource);
void zs_resource_used_zone_time(zs_zone_t zone, zs_resource_t resource, timestruc_t *ts);
uint_t zs_resource_used_zone_pct(zs_zone_t zone, zs_resource_t resource);
These functions are used to access properties and utilization information of the system resources. Also provided by the zs_resource_used_zone_*() functions is per-zone utilization information of each resource.
See libzonestat(3LIB) for the ZS_RESOURCE_* resource codes and the ZS_USER_* user codes.
The zs_resource_property() function returns resource property prop. See libzonestat(3LIB) for a description of the ZS_RESOURCE_PROP_* property codes.
The zs_resource_type() function returns the data type of the resource. The following types can be returned:
The resource and its usage can be retrieved in terms of time. This limit can be passed to zs_resource_total_time() and zs_resource_used_time(), as well as all other zs_resource_*() functions.
The resource reflects a quantity of discrete objects. For instance, a limit on the number of processes.
The resource reflects a quantity of bytes.
The zs_resource_total_uint64() function returns the total resource available of type resource.
The zs_resource_total_time() function sets ts to the total time available for the given resource. This is supported only for the ZS_RESOURCE_CPU resource. The total CPU time represents the total CPU time available since zs_open(3ZONESTAT) was called.
The zs_resource_used_uint64() function returns the total resource used for the given resource by the given user.
The zs_resource_used_time() function sets ts to the total time used for resource by user. This is supported only for the ZS_RESOURCE_CPU resource. The used CPU time represents the CPU time used since zs_open() was called.
The zs_resource_used_pct() function returns the percentage of resource used by user.
The zs_resource_used_zone_uint64() function returns the quantity of resource by zone.
The zs_resource_used_zone_time() function returns the quantity of resource time used by zone. This usage value is increasing from when zs_open() as first called. This function supports only the ZS_RESOURCE_CPU resource.
The zs_resource_used_zone_pct() function returns the percent of resource used by zone.
See Description.
If a zs_resource_*() function is called with an invalid resource or user code, the function will abort with abort(3C).
The following example retrieves physical memory utilization both system-wide and for each zone.
#include <zonestat.h> ... extern zs_usage_t usage; /* assume returned by zs_usage_read() */ ... zs_zone_t zone; uint64_t total_memory; uint64_t used_memory; uint64_t zone_used_memory; total_memory = zs_resource_total_uint64(usage, ZS_RESOURCE_RAM); used_memory = zs_resource_used_uint64(usage, ZS_RESOURCE_RAM, ZS_USER_ALL); for (zone = zs_zone_first(usage); zone != NULL; zone = zs_zone_next(usage, zone)) { zone_used_memory = zs_resource_used_zone_uint64(zone, ZS_RESOURCE_RAM); }
See attributes(5) for descriptions of the following attributes:
|
zonestat(1), pooladm(1M) , psrset(1M), rcapadm(1M) , swap(1M), zoneadm(1M) , zonestatd(1M), abort(3C), libpool(3LIB), libzonestat (3LIB), zs_open(3ZONESTAT), zs_pset(3ZONESTAT), zs_property(3ZONESTAT), zs_pset_zone(3ZONESTAT), zs_usage(3ZONESTAT), zs_zone(3ZONESTAT), attributes (5), resource_controls(5)