JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
man pages section 1M: System Administration Commands     Oracle Solaris 11.1 Information Library
search filter icon
search icon

Document Information

Preface

Introduction

System Administration Commands - Part 1

System Administration Commands - Part 2

luxadm(1M)

mail.local(1M)

makedbm(1M)

makemap(1M)

masfcnv(1M)

mdlogd(1M)

mdmonitord(1M)

mdnsd(1M)

medstat(1M)

metaclear(1M)

metadb(1M)

metadetach(1M)

metadevadm(1M)

metahs(1M)

metaimport(1M)

metainit(1M)

metaoffline(1M)

metaonline(1M)

metaparam(1M)

metarecover(1M)

metarename(1M)

metareplace(1M)

metaset(1M)

metassist(1M)

metastat(1M)

metasync(1M)

metattach(1M)

mib2mof(1M)

mibiisa(1M)

mkbootmedia(1M)

mkdevalloc(1M)

mkdevmaps(1M)

mkfifo(1M)

mkfile(1M)

mkfs(1M)

mkfs_pcfs(1M)

mkfs_udfs(1M)

mkfs_ufs(1M)

mknod(1M)

mkntfs(1M)

mkpwdict(1M)

modinfo(1M)

modload(1M)

modunload(1M)

mofcomp(1M)

mofreg(1M)

monacct(1M)

monitor(1M)

mount(1M)

mountall(1M)

mountd(1M)

mount_hsfs(1M)

mount_nfs(1M)

mount_pcfs(1M)

mount_smbfs(1M)

mount_tmpfs(1M)

mount_udfs(1M)

mount_ufs(1M)

mpathadm(1M)

mpstat(1M)

msgid(1M)

mvdir(1M)

named(1M)

named-checkconf(1M)

named-checkzone(1M)

named-compilezone(1M)

ncaconfd(1M)

ncheck(1M)

ncheck_ufs(1M)

ndd(1M)

ndmpadm(1M)

ndmpd(1M)

ndmpstat(1M)

netadm(1M)

netcfg(1M)

netcfgd(1M)

netservices(1M)

netstat(1M)

netstrategy(1M)

newaliases(1M)

newfs(1M)

newkey(1M)

nfs4cbd(1M)

nfsd(1M)

nfslogd(1M)

nfsmapid(1M)

nfsref(1M)

nfsstat(1M)

nscadm(1M)

nscd(1M)

nscfg(1M)

nsdb-list(1M)

nsdb-nces(1M)

nsdbparams(1M)

nsdb-resolve-fsn(1M)

nsdb-update-nci(1M)

nslookup(1M)

nsupdate(1M)

ntfscat(1M)

ntfsclone(1M)

ntfscluster(1M)

ntfscmp(1M)

ntfscp(1M)

ntfsfix(1M)

ntfsinfo(1M)

ntfslabel(1M)

ntfsls(1M)

ntfsprogs(1M)

ntfsresize(1M)

ntfsundelete(1M)

nulladm(1M)

nwamd(1M)

obpsym(1M)

oplhpd(1M)

pageout(1M)

parted(1M)

pbind(1M)

pcitool(1M)

pfedit(1M)

pginfo(1M)

pgstat(1M)

picld(1M)

ping(1M)

pkg2du(1M)

pkgadd(1M)

pkgadm(1M)

pkgask(1M)

pkgchk(1M)

pkgcond(1M)

pkg.depotd(1M)

pkgrm(1M)

pkg.sysrepo(1M)

plockstat(1M)

pntadm(1M)

polkit-is-privileged(1M)

pooladm(1M)

poolbind(1M)

poolcfg(1M)

poold(1M)

poolstat(1M)

ports(1M)

poweradm(1M)

poweroff(1M)

powertop(1M)

pppd(1M)

pppoec(1M)

pppoed(1M)

pppstats(1M)

praudit(1M)

prctmp(1M)

prdaily(1M)

projadd(1M)

projdel(1M)

projmod(1M)

prstat(1M)

prtacct(1M)

prtconf(1M)

prtdiag(1M)

prtdscp(1M)

prtfru(1M)

prtpicl(1M)

prtvtoc(1M)

psradm(1M)

psrinfo(1M)

psrset(1M)

pwck(1M)

pwconv(1M)

quot(1M)

quota(1M)

quotacheck(1M)

quotaoff(1M)

quotaon(1M)

rad(1M)

raidctl(1M)

ramdiskadm(1M)

rarpd(1M)

rcapadm(1M)

rcapd(1M)

rctladm(1M)

rdate(1M)

rdisc(1M)

reboot(1M)

rem_drv(1M)

remove_allocatable(1M)

removef(1M)

reparsed(1M)

repquota(1M)

restricted_shell(1M)

rexd(1M)

rexecd(1M)

rlogind(1M)

rmmount(1M)

rmt(1M)

rmvolmgr(1M)

rndc(1M)

rndc-confgen(1M)

roleadd(1M)

roledel(1M)

rolemod(1M)

root_archive(1M)

route(1M)

routeadm(1M)

routed(1M)

rpcbind(1M)

rpc.bootparamd(1M)

rpcinfo(1M)

rpc.mdcommd(1M)

rpc.metad(1M)

rpc.metamedd(1M)

rpc.metamhd(1M)

rpc.rexd(1M)

rpc.rstatd(1M)

rpc.rusersd(1M)

rpc.rwalld(1M)

rpc.smserverd(1M)

rpc.sprayd(1M)

rpc.yppasswdd(1M)

rpc.ypupdated(1M)

rquotad(1M)

rsh(1M)

rshd(1M)

rstatd(1M)

rtc(1M)

rtquery(1M)

runacct(1M)

rusersd(1M)

rwall(1M)

rwalld(1M)

rwhod(1M)

sa1(1M)

sa2(1M)

sadc(1M)

sar(1M)

sasinfo(1M)

savecore(1M)

sbdadm(1M)

sched(1M)

sckmd(1M)

scmadm(1M)

sconadm(1M)

sendmail(1M)

sftp-server(1M)

shadowd(1M)

shadowstat(1M)

share(1M)

shareall(1M)

sharectl(1M)

share_nfs(1M)

share_smb(1M)

showmount(1M)

shutacct(1M)

shutdown(1M)

slpd(1M)

smattrpop(1M)

smbadm(1M)

smbd(1M)

smbiod(1M)

smbiod-svc(1M)

smbios(1M)

smbstat(1M)

smrsh(1M)

smtp-notify(1M)

sndradm(1M)

sndrd(1M)

sndrsyncd(1M)

snmpdx(1M)

snmp-notify(1M)

snmpXwbemd(1M)

snoop(1M)

soconfig(1M)

soladdapp(1M)

soldelapp(1M)

solstice(1M)

sppptun(1M)

spray(1M)

sprayd(1M)

srptadm(1M)

sshd(1M)

ssh-keysign(1M)

startup(1M)

statd(1M)

stclient(1M)

stmfadm(1M)

stmsboot(1M)

strace(1M)

strclean(1M)

strerr(1M)

sttydefs(1M)

su(1M)

sulogin(1M)

suriadm(1M)

svadm(1M)

svcadm(1M)

svcbundle(1M)

svccfg(1M)

svc.configd(1M)

svc.ipfd(1M)

svc.startd(1M)

swap(1M)

sxadm(1M)

sync(1M)

syncinit(1M)

syncloop(1M)

syncstat(1M)

sysconfig(1M)

sysdef(1M)

syseventadm(1M)

syseventconfd(1M)

syseventd(1M)

syslogd(1M)

talkd(1M)

tapes(1M)

telnetd(1M)

tftpd(1M)

th_define(1M)

th_manage(1M)

tic(1M)

tncfg(1M)

tnchkdb(1M)

tnctl(1M)

tnd(1M)

tninfo(1M)

tpmadm(1M)

traceroute(1M)

trapstat(1M)

ttymon(1M)

tunefs(1M)

turnacct(1M)

txzonemgr(1M)

tzreload(1M)

tzselect(1M)

uadmin(1M)

ucodeadm(1M)

ufsdump(1M)

ufsrestore(1M)

umount(1M)

umountall(1M)

System Administration Commands - Part 3

pgstat

- report utilization statistics for Processor Groups

Synopsis

pgstat [-A] [-C] [-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 performance relevant hardware, such as execution pipelines, caches, and so forth. These PGs are organized into a hierarchy that models the processor 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 hardware 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 example 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:

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 output 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 utilization might be unavailable because the counters are being used by a cpc(3CPC) consumer such as attributes(5), cputrack(1), dtrace(1M), or another application that uses libcpc(3LIB).

Options

The following options are supported:

-A

Display summary of utilization data when pgstat is run over multiple intervals.

-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.

-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 chip, system, core, or chip, as appropriate, is displayed after the sharing relationship of the PG in square brackets (“[]”).

-P pg,...

Display utilization for specified PGs. Multiple PGs can be specified 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 utilization and capacity and software user, system, and idle times.

Output Headings

pgstat 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 over the interval. This can be a large number, so K, M, B, and T are used for denoting thousand, million, billion, and trillion, respectively.

CAP

Approximate maximum possible utilization for PG's shared hardware component over the interval. 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 during interval.

CPUS

CPU IDs for CPUs in PG.

Examples

In the following examples, the system contains one UltraSPARC T1 processor 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.2B   0.2%   0.0%   0.2%  99.8% 0-3
 4  Integer_Pipeline  13.1% 163M 1.2B  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

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 relationships invalid.

3

Invalid syntax.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/core-os
Interface Stability
Uncommitted

The command line options and output are Uncommitted.

See Also

cputrack(1), attributes(5), dtrace(1M), pginfo(1M), cpc(3CPC), libcpc(3LIB), attributes(5)