pgstat(8) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

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)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3