Analyzing CPU usage

Modified: 28 Apr 2022 01:26 UTC

This guide contains information on gathering data on CPU usage from the global zone of a compute node.

Load averages

The prstat command

All processes (inc. zones): prstat -Z

Per zone: prstat -Zz <zone_id> (zone_id from zoneadm list -v)

Per process: prstat -mLc 1

The kstat command

All zones: kstat -p caps::cpucaps_zone_*

Per zone: kstat -p caps::cpucaps_zone_<id> (zone_id from zoneadm list -v)

Name Description
usage current CPU usage
maxusage high watermark of CPU usage
value CPU cap value. This is the most CPU the instance can use while bursting.
baseline CPU minimum value. This is the guaranteed minimum CPU usage for the instance.
above_base_sec Number of seconds the instance was bursting (above baseline)

The percentage is the total across all CPUs (psrinfo). So, a value of 200 is equivalent to 2 virtual CPUs (a virtual CPU is either a core or a hyper-thread).