ZONESTAT(1) User Commands ZONESTAT(1)
- report active zone statistics
] [-r reslist
] [-n namelist
] [-T u
] [-R reports
]] [-S cols
utility reports on the cpu, memory, and resource control
utilization of the currently running zones. Each zone's utilization is
reported both as a percentage of system resources and the zone's configured
utility prints a series of interval reports at the specified
interval. It optionally also prints one or more summary reports at a
The default output is a summary of cpu, physical, and virtual memory
utilization. The -r option can be used to choose detailed output for
The following options are supported: -z zonename
Specify a list of zones on which to report. By default all zones
are reported. In addition to a comma-separated list, multiple -z
options can be specified to report on a set of zones. The output
will include any resources which have usage by the specified
zone(s). -r resource
Specify resource types on which to report. The available resources
The following nicknames can also be specified as resource names: summary
A summary of cpu, physical-memory, and virtual memory
physical-memory, virtual-memory, and locked memory. psets
The default pset only. limits
processes, lwps, lofi sysv
shm-memory, shm-ids, sem-ids msg-ids all
all resource types.
By default the summary resource is printed.
In addition to a comma-separated list, multiple -r
options can be
specified to report on a set of resources types.
The system's cpus can be partitioned into processor sets (psets)
By default, all cpus are in a single pset named pset_default
Memory is not partition-able into sets. The zonestat utility
output for these resources will show them as named mem_default
resource specifies that all resource types should be
reported. -n name
Specify a list resource names on which to report. For pset
resources, this is the name of the processor set. For physical-
memory, locked-memory, and virtual-memory resources, the only names
Dedicated-cpu processor sets can be specified by their pset name,
or by just their zonename.
Processor sets created by psrset can be specified by their pool
pset name, or just by their psetid.
In addition to a comma-separated list, multiple -n
options can be
specified to report on a set of resources. -T u
Include timestamp of each report. The following formats are
u A printed representation of the internal representation of
time; see time(2)
. This is also known as unix time.
d Standard date format; see date(1)
. This option is not
valid with -p
i Time formatted as the ISO 8601 compliant format:
YYYYMMDDThhmmssZ -R report
Print a summary report. The supported report types are described
below. In addition to a comma-separated list, multiple -R
may be specified for a set of summary reports.
total Prints a summary report detailing the following for each
psets Total cpu used since start of command invocation.
The percent used for each zone includes time that a
zone was not running. For instance, if a zone used
100% of the cpu while it was running, but the zone
was halted for half of the intervals, then the
summary report will show the zone used 50% of the
memory, limits, sysv
Average resource used of all intervals reported
since command invocation. This average factors in
intervals in which a zone was not running. For
example if a zone used on average of 100M of
physical memory while it was running, and was only
running for half the intervals, then the summary
report will show that the zone used 50M of physical
memory on average.
Similar to total
, but only intervals in which a zone is
running are factored in. For example, if a zone was only
running for a single interval, and during that interval,
the zone used 200M of virtual memory, then its average
virtual-memory will be 200M, regardless of the number of
intervals reported before the summary report.
high Print a summary report detailing the highest usage of each
resource and zone during any interval of the zonestat
utility invocation. -S col
Sort zones utilizing each resource. The following sorting columns
can be specified.
name Sort alphanumerically by zone name.
used Sort by quantity of resource used.
cap Sort by configured cap.
pcap Sort by percent of cap used.
shr Sort by allocated share.
pshru Sort by percent of share used.
By default, output is sorted by quantity of resource used. -q
Only print summary reports (requires -R
). All interval reports are
Print output in stable, machine-parsable format. Individual fields
will be delimited with :. The line format is:
is specified each line is prefixed with a timestamp:
The report types are: report-total
The resource types are: header
resource is a special resource used to state the
beginning of an interval or summary report. All output lines
between header resources belong to the same report. Each header
has a matching footer.
The remaining fields are resource type specific. See the zonestat
utility output for details.
All existing output fields are stable. Future versions may
introduce new report and resource types. Future versions may also
add additional new fields to the end of existing output lines. -P line
For parsable output, specify lines to output in parsable output.
One or more of the following line types can be chosen:
The lines describing each resource.
total The total utilization of each resource.
system The utilization of each resource by the system. This
includes the kernel, and any resource consumption not
contributable to a specific zone. When zonestat is run
from within a non-global-zone, this value will be the
aggregate resource consumed by the system and all other
zones Lines detailing the per-zone utilization of each resource.
Each interval and summary report has a header, which prints
details such as the interval and count information. After
each report, any footer is also printed
Specifies the length in seconds to pause between each interval
report. An interval of default
will use the configured interval of
the zones monitoring service - see zonestatd(8)
Interval is required. An interval of zero is not permitted. The
interval can be specified as [nh][nm][ns], such as 10s or 1m.
Specifies the number of intervals to report. Defaults to infinity
if not specified. The command duration is (interval * duration).
A duration of zero is invalid. A value of inf
can also be
specified to explicitly choose infinity.
Duration can also be specified as [nh][nm][ns]. In this case,
duration will be interpreted as the duration of execution time.
The actual duration will be rounded up to the nearest multiple of
report Specify the summary report period. For instance, a report of 4
would produce reports every 4 intervals. If the command duration
is not a multiple of report, then the last report will be of any
Report can also be specified as [nh][nm][ns]. In this case,
reports will be output at the specified time period, rounded up to
the nearest interval. If the command duration is not a multiple of
report, then the last report will be of any remaining intervals.
. If -R
is specified and report is not, the report
period will be the entire command duration, producing the specified
reports at the end of execution.
The following list defines the column heading of the command output:
The total amount of memory available on the physical host.
The maximum amount of resource available on the physical host.
CPUS The number of cpus allocated to a processor set.
ONLINE Of the cpus allocated to a processor set, the number of cpus which
can execute processes.
The minimum and maximum number of cpus which may be allocated to
the processor set by the system.
ZONE The zone using the resource. In addition to zone names, this
column may also contain:
The total quantity of resource used system-wide.
The quantity of resource used by the kernel or in a manner
not associated with any particular zone.
When zonestat is used within a non-global zone, [system]
designates the aggregate resource used by the system and by
all other zones.
USED The amount of resource used.
PCT The amount of resource used as a percent of the total resource.
%PART The amount of cpu uses as a percentage of the total cpu in a
processor-set to which the zone is bound. A zone can only have
processes bound to multiple processor sets if it is the global
zone, or if psrset(8)
psets are used. If multiple binding are
found for a zone, its %PART will be the fraction used of all bound
psets. For [total] and [system], %PART is the percent used of all
cpus on the system.
CAP If a zone is configured to have a cap on the given resource, the
cap will be displayed in this column.
%CAP The amount of resource used as a percent of zone's configured cap.
SHRS The number of shares allocated to the zone. For the [total] row,
this will be the total number of shares allocated to all zones
sharing the resource.
If a zone is not configured to use shares, and is sharing a
resource with other zones that are configured to use shares, this
column will contain no-fss
for the zone.
%SHR The fraction of the total shares allocated to the zone. For
instance, if 2 zones share a processor set, each with 10 shares,
then each zone will have a %SHR of 50%.
%SHRU Of the share allocated to the zone, the fraction of resource used.
Zones using all of their share will have a %SHRU of 100%. Because
shares are only enforced when there is resource contention, it is
possible for a zone to have a %SHRU in excess of 100%.
The zonestat utility depends on the zones monitoring service:
If the zonestat service is stopped while the zonestat utility is running,
the zonestat command invocation will quit without printing additional
The reports will be printed if zonestat is interrupted (by ctrl-c, SIGINT)
before reaching the next report period.
utility exits 0 on success, and >0 if an error occurs.
0 Successful completion.
1 An error occurred.
2 Invalid usage.
3 svc:system/zones_monitoring:default not running or not responding.
Example 1: Summary of cpu and memory utilization every 5 seconds.
# zonestat 5 1
-----CPU------------- ----PHYSICAL--- ----VIRTUAL----
ZONE USED %PART %CAP %SHRU USED PCT %CAP USED PCT %CAP
[total] 9.74 30% - - 7140M 21% - 10.6G 22% -
[system] 0.28 0.8% - - 6535M 19% - 10.4G 21% -
global 9.10 28% - - 272M 0.8% - 366M 0.7% -
zoneA 0.32 1.0% - - 256M 0.7% - 265M 0.5% -
zoneB 0.00 0.0% - - 77.6M 0.2% - 71.1M 0.1% -
Example 2: Using parsable output, fetching only zone usages.
The following command will produce parsable output, printing one line per
zone using each pset resource for a 5 second interval.
# zonestat -p -P zones -r psets 5 1
Example 3: Report on the default pset.
The following command will report on the default pset once a second for one
# zonestat -r default-pset 1 1m
Example 4: Report total and high utilization.
The following command monitors silently at a 10 second interval for 24
hours, producing a total and high report every 1 hour.
# zonestat -q -R total,high 10s 24h 1h
Command invocation and parsable output is Committed. Human readable output
(default output) is uncommitted.
When run from within a non-global zone (NGZ), only processor sets visible
to the NGZ are reported. The NGZ output will include all of other system
resources, such as memory and limits.
For all reported resources, the NGZ's usage will be output. Usage of each
resource by the system, global zone, and all other zones, will be reported
as used by system
SEE ALSO date(1)
, libzonestat(3lib), timezone(5)
OmniOS December 29, 2021 OmniOS