svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
pgstat(8)
System Administration Commands pgstat(8)
NAME
pgstat - report utilization statistics for Processor Groups
SYNOPSIS
pgstat [-A] [-B core|soc|sys] [-C] [-l] [-p] [-s key | -S key]
[-t number] [-T u | d] [-v] [-r string] [-R string]
[-P pg ...] [-c processor_id... ] [interval [count]]
pgstat -h
DESCRIPTION
The pgstat displays utilization statistics about Processor Groups
(PGs). A PG is a set of CPUs that are grouped together by a common
characteristic.
PGs are used by the operating system to represent CPUs that share per‐
formance relevant hardware, such as execution pipelines, caches, and so
forth. These PGs are organized into a hierarchy that models the proces‐
sor topology of the machine. In this hierarchy, each CPU (strand) has a
leaf PG that represents the CPUs that share the most hardware with it.
Each successive ancestor of the leaf PG shares progressively less hard‐
ware with the CPU until the root PG is reached. The root PG contains
all of the CPUs in the system and represents the group of CPUs sharing
the least hardware with each other. (See "Examples" below for an exam‐
ple of PG hierarchy).
If a machine does not have any performance-relevant hardware sharing
relationships, then pgstat displays only a root PG that contains all of
the CPUs in the system.
By default, pgstat does the following:
o Measures the hardware and software utilization of all PGs in
the PG hierarchy over a one second interval.
o Displays the utilization of the PGs in depth first order
using indentation to help show how the PGs relate to each
other.
o Displays the ID, sharing relationship, hardware load, soft‐
ware load, and online CPUs for each PG at the end of each
interval.
The interval and count can be given as arguments to specify the number
of seconds in the sampling interval and number of times to measure and
display the utilization for the specified PGs.
You can specify options to further tailor the output, organize the out‐
put a certain way, and specify PGs of interest (see "Options" below for
details).
A hyphen ("-") is displayed when the utilization for a given PG is not
supported and a question mark (?) is displayed when the utilization is
not available. On systems where the CPU hardware performance counters
are needed to measure the hardware utilization, the hardware utiliza‐
tion might be unavailable because the counters are being used by a
cpc(3CPC) consumer such as attributes(7), cputrack(1), dtrace(8), or
another application that uses libcpc(3LIB).
OPTIONS
The following options are supported:
-A
Display summary of utilization data when pgstat is run over multi‐
ple intervals.
-B core
Bin and display utilization data by core ID. This option is incom‐
patible with the -P option.
-B soc
Bin and display utilization data by socket ID. This option is
incompatible with the -P option.
-B sys
Bin and display utilization for the entire system. This option is
incompatible with the -P option.
-c processor_id...
Display utilization about PGs that contain the specified CPUs. The
CPUs can be specified as a comma separated list of CPU IDs. A
hyphen ("-") can be used to specify contiguous ranges of CPU IDs
(for example, 0-3).
-C
Display utilization of each CPU in each PG.
-h
Display short help message and exit with exit status 0.
-l
Use the learned capacity in hardware utilization calculations if it
is larger than the platform's advertised capacity. The learned
capacity is the maximum observed hardware utilization since start‐
ing pgstat, and is useful in situations where the platform does not
provide an accurate maximum capacity.
-p
Display the physical relationship that corresponds to a PG. If a PG
has the same CPUs as the whole system, a processor core, or a
socket, system, core, or socket, as appropriate along with the cor‐
responding ID, is displayed after the sharing relationship of the
PG in square brackets ("[]").
-P pg,...
Display utilization for specified PGs. Multiple PGs can be speci‐
fied as a comma-separated list of PG IDs. A hyphen ("-") can be
used to specify a contiguous range of PG IDs (for example, 0-3).
-r string1,string2,...
Display utilization only for PGs with a sharing relationship name
that matches any of the specified strings. The string can be a
whole relationship name or a portion of one or more relationship
names. The string matching is case-insensitive.
Multiple -r options can be entered, which results in matching all
PGs with a relationship name that matches any of the specified
strings.
-R string1,string2,...
Display information only about PGs with a sharing relationship name
other than the one(s) specified.
String matching is the same as described above for the -r option.
Multiple -R options can be entered.
-s key
Sort output lines by the specified key in descending order. The
specified key can be one of the following:
pg
Sort by PG ID.
hwload
Sort by hardware utilization.
swload
Sort by software utilization.
user
Sort by user time.
sys
Sort by system time.
idle
Sort by idle time.
depth
Sort by descending PG tree from root to leaves, depth-first
(default).
breadth
Sort by descending PG tree from root to leaves, breadth-first.
-S key
Sort output lines by the specified key in ascending order. Possible
key values are the same as for the -s option.
-t number
Show the top number of PGs for the specified integer number.
-T u | d
Display timestamp for each sampling interval in UNIX time (see
time(2)) or the standard date format used by date(1).
-v
Display extra information about each PG including hardware utiliza‐
tion and capacity and software user, system, and idle times.
OUTPUT HEADINGS
The pgstat command displays the column headings, which are listed
below, along with the meanings of those headings.
PG
Processor Group ID.
RELATIONSHIP
Sharing relationship for PG.
HW
Hardware load in percent (calculated as UTIL/CAP for interval).
UTIL
Hardware utilization of PG's shared hardware component normalized
per second. This can be a large number, so K, M, B, and T are used
for denoting thousand, million, billion, and trillion, respec‐
tively.
CAP
Approximate maximum possible utilization for PG's shared hardware
component per second. This value is fixed by default at a best
guess for the given platform, but can be changed to a learned value
using the -l option. This can be a large number, so K, M, B, and T
are used for denoting thousand, million, billion, and trillion,
respectively.
SW
Software load in percent (calculated as (USR + SYS) / (USR + SYS +
IDLE))
USR
Percentage of time that software threads ran in user mode on CPUs
in PG during interval.
SYS
Percentage of time that software threads ran in system mode on CPUs
in PG during interval.
IDLE
Percentage of time that no software threads ran on CPUs in PG dur‐
ing interval.
CPUS
CPU IDs for CPUs in PG.
EXAMPLES
In the following examples, the system contains one UltraSPARC T1 pro‐
cessor chip with 8 cores and 32 strands.
Example 1 Displaying Utilization for Specified Period
The following command displays utilization for all PGs over the last
two seconds.
$ pgstat 1 2
PG RELATIONSHIP HW SW CPUS
0 System - 0.4% 0-31
3 Data_Pipe_to_memory - 0.4% 0-31
2 Floating_Point_Unit 0% 0.4% 0-31
1 Integer_Pipeline 0% 0% 0-3
4 Integer_Pipeline 0% 0% 4-7
5 Integer_Pipeline 0% 0% 8-11
6 Integer_Pipeline 0% 0.2% 12-15
7 Integer_Pipeline 0% 0% 16-19
8 Integer_Pipeline 2.8% 2.7% 20-23
9 Integer_Pipeline 0.1% 0.2% 24-27
10 Integer_Pipeline 0% 0% 28-31
PG RELATIONSHIP HW SW CPUS
0 System - 0.4% 0-31
3 Data_Pipe_to_memory - 0.4% 0-31
2 Floating_Point_Unit 0% 0.4% 0-31
1 Integer_Pipeline 0% 0.2% 0-3
4 Integer_Pipeline 0% 0% 4-7
5 Integer_Pipeline 0% 0% 8-11
6 Integer_Pipeline 0% 0% 12-15
7 Integer_Pipeline 0% 0% 16-19
8 Integer_Pipeline 3.1% 2.5% 20-23
9 Integer_Pipeline 0% 0% 24-27
10 Integer_Pipeline 0% 0.2% 28-31
Example 2 Displaying Information about Integer Pipeline
The following command displays detailed information about the two most
utilized integer pipelines over the last two seconds.
$ pgstat -v -t 2 -r 'Integer_Pipeline' 1 2
PG RELATIONSHIP HW UTIL CAP SW USR SYS IDLE CPUS
1 Integer_Pipeline 0.2% 2.2M 1.4B 0.2% 0.0% 0.2% 99.8% 0-3
4 Integer_Pipeline 13.1% 181M 1.4B 14.9% 0.0% 14.9% 85.1% 4-7
PG RELATIONSHIP HW UTIL CAP SW USR SYS IDLE CPUS
1 Integer_Pipeline 0.2% 1.9M 1.4B 0.2% 0.0% 0.2% 99.8% 0-3
4 Integer_Pipeline 13.1% 163M 1.4B 14.9% 0.0% 14.9% 85.1% 4-7
Example 3 Displaying Core Utilization over Specified Period
The following command displays information about core utilization over
the last two minutes.
$ pgstat -A 60 2
PG RELATIONSHIP HW SW CPUS
0 System - 56.9% 0-31
3 Data_Pipe_to_memory - 56.9% 0-31
2 Floating_Point_Unit 0.0% 56.9% 0-31
1 Integer_Pipeline 36.7% 58.7% 0-3
4 Integer_Pipeline 41.9% 58.3% 4-7
5 Integer_Pipeline 31.0% 58.0% 8-11
6 Integer_Pipeline 30.7% 57.9% 12-15
7 Integer_Pipeline 30.1% 55.8% 16-19
8 Integer_Pipeline 40.2% 54.8% 20-23
9 Integer_Pipeline 35.0% 56.0% 24-27
10 Integer_Pipeline 40.3% 55.8% 28-31
PG RELATIONSHIP HW SW CPUS
0 System - 10.7% 0-31
3 Data_Pipe_to_memory - 10.7% 0-31
2 Floating_Point_Unit 0.0% 10.7% 0-31
1 Integer_Pipeline 9.0% 10.7% 0-3
4 Integer_Pipeline 9.6% 10.8% 4-7
5 Integer_Pipeline 8.6% 9.9% 8-11
6 Integer_Pipeline 10.5% 11.9% 12-15
7 Integer_Pipeline 9.1% 10.4% 16-19
8 Integer_Pipeline 9.6% 10.9% 20-23
9 Integer_Pipeline 8.9% 10.0% 24-27
10 Integer_Pipeline 9.5% 10.7% 28-31
SUMMARY: UTILIZATION OVER 120 SECONDS
------HARDWARE------ ------SOFTWARE------
PG RELATIONSHIP MIN AVG MAX MIN AVG MAX CPUS
0 System - - - 10.7% 10.7% 56.9% 0-31
3 Data_Pipe_to_memory - - - 10.7% 10.7% 56.9% 0-31
2 Floating_Point_Unit 0.0% 0.0% 0.0% 10.7% 10.7% 56.9% 0-31
1 Integer_Pipeline 9.0% 8.5% 36.7% 10.7% 10.7% 58.7% 0-3
4 Integer_Pipeline 9.6% 9.1% 41.9% 10.8% 10.8% 58.3% 4-7
5 Integer_Pipeline 8.6% 8.1% 31.0% 9.9% 9.9% 58.0% 8-11
6 Integer_Pipeline 10.5% 10.0% 30.7% 11.9% 11.9% 57.9% 12-15
7 Integer_Pipeline 9.1% 8.6% 30.1% 10.4% 10.4% 55.8% 16-19
8 Integer_Pipeline 9.6% 9.1% 40.2% 10.9% 10.9% 54.8% 20-23
9 Integer_Pipeline 8.9% 8.4% 35.0% 10.0% 10.0% 56.0% 24-27
10 Integer_Pipeline 9.5% 8.9% 40.3% 10.7% 10.7% 55.8% 28-31
Example 4 Binning Hardware and Software Utilization by Chip
In the following example, the machine is a SPARC-T5 with 128 cores and
1024 strands.
Here we print a timestamp, followed by utilization aggregated by socket
(chip).
# pgstat -T d -B chip
July 11, 2013 02:53:11 PM PDT
ID RELATIONSHIP HW SW CPUS
16 Chip (Software) - 0.2% 0-127
16 Chip (Data_Pipe_to_memory) 0.1% - 0-127
16 Chip (Floating_Point_Unit) 0.0% - 0-127
16 Chip (Integer_Pipeline) 0.1% - 0-127
65552 Chip (Software) - 0.0% 128-255
65552 Chip (Data_Pipe_to_memory) 0.0% - 128-255
65552 Chip (Floating_Point_Unit) 0.0% - 128-255
65552 Chip (Integer_Pipeline) 0.0% - 128-255
131088 Chip (Software) - 0.0% 256-383
131088 Chip (Data_Pipe_to_memory) 0.0% - 256-383
131088 Chip (Floating_Point_Unit) 0.0% - 256-383
131088 Chip (Integer_Pipeline) 0.0% - 256-383
196624 Chip (Software) - 0.0% 384-511
196624 Chip (Data_Pipe_to_memory) 0.0% - 384-511
196624 Chip (Floating_Point_Unit) 0.0% - 384-511
196624 Chip (Integer_Pipeline) 0.0% - 384-511
262160 Chip (Software) - 0.0% 512-639
262160 Chip (Data_Pipe_to_memory) 0.0% - 512-639
262160 Chip (Floating_Point_Unit) 0.0% - 512-639
262160 Chip (Integer_Pipeline) 0.0% - 512-639
327696 Chip (Software) - 0.8% 640-767
327696 Chip (Data_Pipe_to_memory) 0.9% - 640-767
327696 Chip (Floating_Point_Unit) 0.0% - 640-767
327696 Chip (Integer_Pipeline) 2.1% - 640-767
393232 Chip (Software) - 0.0% 768-895
393232 Chip (Data_Pipe_to_memory) 0.0% - 768-895
393232 Chip (Floating_Point_Unit) 0.0% - 768-895
393232 Chip (Integer_Pipeline) 0.0% - 768-895
458768 Chip (Software) - 0.0% 896-1023
458768 Chip (Data_Pipe_to_memory) 0.0% - 896-1023
458768 Chip (Floating_Point_Unit) 0.0% - 896-1023
458768 Chip (Integer_Pipeline) 0.0% - 896-1023
EXIT STATUS
The following exit values are returned:
0
Successful completion.
1
Unable to get PG information from the system.
2
Specified interval, count, or all CPUs, PGs, and sharing relation‐
ships invalid.
3
Invalid syntax.
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 _ Availabilitysystem/core-os _ Interface StabilityUncom‐
mitted
The command line options and output are Uncommitted.
SEE ALSO
cputrack(1), cpc(3CPC), libcpc(3LIB), attributes(7), attributes(7),
dtrace(8), pginfo(8)
NOTES
The stats which require access to hardware performance counters may not
be available in certain virtual environments.
Oracle Solaris 11.4 11 May 2021 pgstat(8)