手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

prstat(1M)

名称

prstat - 报告活动进程的统计信息

用法概要

prstat [-acHJLmRrtTv] [-d u | d] [-C psrsetlist] [-h lgrplist] 
     [-j projlist] [-k tasklist] [-n ntop[,nbottom]] 
     [-p pidlist] [-P cpulist] [-s key | -S key ] 
     [-u euidlist] [-U uidlist] [-z zoneidlist] [-Z] 
     [interval [count]]

描述

prstat 实用程序反复检查系统上的所有活动进程并根据选定的输出模式和排序顺序来报告统计信息。prstat 还提供了相应的选项以便仅检查与指定的 PID、UID、区域 ID、CPU ID 和处理器集 ID 匹配的进程。

–j–k–C–p–P–u–U–z 选项接受列表作为参数。列表中的项目可以逗号分隔,也可以括在引号内并以逗号或空格分隔。

如果您没有指定选项,则 prstat 将检查所有进程并报告按 CPU 使用量排序的统计信息。

选项

支持以下选项:

–a

报告关于进程和用户的信息。在此模式下,prstat 同时显示关于进程和用户的单独报告。

–c

在以前的报告下方输出新报告而不是将其覆盖。

–C psrsetlist

仅报告绑定到给定列表中的处理器集的进程或 lwp。每个处理器集都由一个整数予以标识,如 psrset(1M) 所报告。显示的负荷平均值是指定处理器集的负荷平均值的总和(请参见 pset_getloadavg(3C))。即使不使用 –L 选项,也会报告有一个或多个 LWP 绑定到给定列表中的处理器集的进程。

–d u | d

指定 u 表示时间的内部表示形式的印刷表示形式。请参见 time(2)。指定 d 表示标准日期格式。请参见date(1)

–h lgrplist

仅报告其主 lgroup 位于给定的 lgroup 列表中的进程或 lwp。将不会为无效的 lgroup 列出进程或 lwp。

–H

报告关于主 lgroup 的信息。在此模式下,prstat 会增加一个额外的标题为 LGRP 的列,用以显示进程或 lwp 主 lgroup

–j projlist

仅报告其项目 ID 位于给定列表中的进程或 lwp。每个项目 ID 可以指定为项目名,也可以指定为项目的数字 ID。请参见 project(4)

–J

报告关于进程和项目的信息。在此模式下,prstat 同时显示关于进程和项目的单独报告。

–k tasklist

仅报告其任务 ID 位于 tasklist 中的进程或 lwp。

–L

报告每个轻量进程 (light-weight process, LWP) 的统计信息。缺省情况下,prstat 仅报告每个进程的 LWP 数。

–m

报告微状态进程记帐信息。除了在 –v 模式下列出的所有字段外,此模式还包括进程在处理系统陷阱、文本缺页、数据缺页以及等待用户锁和等待 CPU(延迟时间)方面花费的时间所占的百分比。

–n ntop[,nbottom]

限制输出行数。ntop 参数确定将报告多少行处理器或 lwp 统计信息,并且如果指定了 –a–t–T–J–Z 选项,nbottom 参数还确定将报告多少行用户、任务或项目统计信息。缺省情况下,prstat 会显示正好填满窗口或终端的输出行数。当您指定了 –c 选项或者将输出定向到某个文件时,ntopnbottom 的缺省值分别为 155

–p pidlist

仅报告其进程 ID 位于给定列表中的进程。

–P cpulist

仅报告在给定列表中的 CPU 上最近执行的进程或 lwp。每个 CPU 都由一个整数予以标识,如 psrinfo(1M) 所报告。

–R

prstat 置于实时调度分类中。当使用了此选项时,将授予 prstat 高于分时进程和交互式进程的优先级。此选项仅可供超级用户使用。

–r

禁用对用户名和项目名称的查找。(请注意,这不适用于 –j–u–U 选项的查找。)

–s key

依据 key 按降序对输出行(即,进程、lwp 或用户)进行排序。只能将一个 key 用作参数。

有五个可能的 key 值:

cpu

按进程 CPU 使用量进行排序。这是缺省值。

pri

按进程优先级进行排序。

rss

按驻留集大小进行排序。

size

按进程映像的大小进行排序。

time

按进程执行时间进行排序。

–S key

依据 key 按升序对输出行进行排序。可能的 key 值与 –s 选项的情况相同。请参见 –s

–t

报告每个用户的总使用量汇总。汇总包括用户拥有的进程或 LWP 的总数、进程映像的总大小、总驻留集大小、总 cpu 时间,以及最近的 cpu 时间和系统内存所占的百分比。

–T

报告关于进程和任务的信息。在此模式下,prstat 同时显示关于进程和任务的单独报告。

–u euidlist

仅报告其有效用户 ID 位于给定列表中的进程。每个用户 ID 可以指定为登录名或数字用户 ID。

–U uidlist

仅报告其实际用户 ID 位于给定列表中的进程。每个用户 ID 可以指定为登录名或数字用户 ID。

–v

报告详细的进程使用情况。此输出格式包括进程在用户模式、系统模式和睡眠模式下花费的时间所占百分比。它还包括主动和偶然上下文切换数、系统调用数以及接收到的信号数。未报告的统计信息用 - 号标出。

–z zoneidlist

仅报告其区域 ID 位于给定列表中的进程或 LWP。每个区域 ID 可以指定为区域名称,也可以指定为数字区域 ID。请参见 zones(5)

–Z

报告关于进程和区域的信息。在此模式下,prstat 同时显示关于进程和区域的单独报告。

输出

输出

下面的列表定义了 prstat 报告的列标题和含义:

PID

进程的进程 ID。

USERNAME

实际用户(登录)名或实际用户 ID。

SWAP

每个用户、项目、任务或区域的关联进程的交换预留空间的总和。对于每个用户、项目、任务或区域,这只会将共享内存计入一次。在分配匿名内存或将文件映射为专用的时,将预留交换空间。交换空间的值是以千字节 (K)、兆字节 (M)、千兆字节 (G) 或兆兆字节 (T) 为单位表示的。

RSS

进程的驻留集大小 (resident set size, RSS),以千字节 (K)、兆字节 (M) 或千兆字节 (G) 为单位。RSS 值是由 proc(4) 提供的一个估计值,这可能会低估实际的驻留集大小。如果用户希望获得更准确的使用量信息来进行容量规划,则应当改用 pmap(1)–x 选项。

STATE

进程的状态:

cpuN

进程正在 CPU N 上运行。

sleep

睡眠:进程正在等待某个事件完成。

wait

正在等待:进程正在等待 CPU 使用量降低到由 CPU 上限实施的限制。请参见 resource_controls (5) 中的 CPU-caps 的描述。

run

可运行:进程在一个正在运行的队列中。

zombie

僵尸状态:进程已终止并且父进程未在等待。

stop

进程已停止。

PRI

进程的优先级。数字越大表示优先级越高。

NICE

在优先级计算中使用的 nice 值。只有特定调度分类中的进程才有 nice 值。

TIME

进程的累积执行时间。

CPU

进程最近使用的 CPU 时间所占百分比。如果是在非全局区域中执行并且池功能处于活动状态,则此百分比将是由区域绑定到的池使用的处理器集中的处理器对应的百分比。

PROCESS

进程的名称(执行的文件的名称)。

LWPID

所报告的 lwplwp ID。

NLWP

进程中的 lwp 数。

使用某些选项时,除了上面显示的一些列标题外,还会显示:

NPROC

指定集合中的进程数。

MEMORY

某个指定的进程集合使用的内存所占的百分比。

当指定了 –v–m 选项时,将显示以下列。

USR

进程在用户模式下花费的时间所占的百分比。

SYS

进程在系统模式下花费的时间所占的百分比。

TRP

进程在处理系统陷阱时花费的时间所占的百分比。

TFL

进程在处理文本缺页时花费的时间所占的百分比。

DFL

进程在处理数据缺页时花费的时间所占的百分比。

LCK

进程在等待用户锁时花费的时间所占的百分比。

SLP

进程在睡眠中度过的时间所占的百分比。

LAT

进程在等待 CPU 时花费的时间所占的百分比。

VCX

主动上下文切换数。

ICX

偶然上下文切换数。

SCL

系统调用数。

SIG

接收到的信号数。

使用了 –L 选项时,将为进程中的每个 lwp 输出一行,并且某些报告字段会显示 lwp(而不是进程)的值。

当指定了 –H 选项时会显示以下列:

LGRP

进程或 lwp 的主 lgroup

操作数

支持下列操作数:

count

指定重复统计信息的次数。缺省情况下,prstat 会一直报告统计信息,直至收到一个终止信号。

interval

以秒为单位指定抽样间隔;缺省间隔是 5 秒。

示例

示例 1 报告五个最活跃的超级用户进程

以下命令报告在 CPU1CPU2 上运行的五个最活跃的超级用户进程:


example% prstat -u root -n 5 -P 1,2 1 1

PID   USERNAME  SWAP   RSS STATE  PRI  NICE      TIME  CPU PROCESS/LWP
 306   root     3024K 1448K sleep   58    0   0:00.00 0.3% sendmail/1
 102   root     1600K  592K sleep   59    0   0:00.00 0.1% in.rdisc/1
 250   root     1000K  552K sleep   58    0   0:00.00 0.0% utmpd/1
 288   root     1720K 1032K sleep   58    0   0:00.00 0.0% sac/1
   1   root      744K  168K sleep   58    0   0:00.00 0.0% init/1
TOTAL:       25, load averages:  0.05, 0.08, 0.12

示例 2 显示详细的进程使用情况信息

以下命令显示了由用户 rootjohn 拥有的具有最小驻留集大小的进程的详细进程使用量信息。


example% prstat -S rss -n 5 -vc -u root,john

 PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
   1 root     0.0 0.0  -   -   -   -  100  -    0   0   0   0 init/1
 102 root     0.0 0.0  -   -   -   -  100  -    0   0   3   0 in.rdisc/1
 250 root     0.0 0.0  -   -   -   -  100  -    0   0   0   0 utmpd/1
1185 john    0.0 0.0  -   -   -   -  100  -    0   0   0   0 csh/1
 240 root     0.0 0.0  -   -   -   -  100  -    0   0   0   0 switchd/4
 TOTAL:       71, load averages:  0.02, 0.04, 0.08
 

退出状态

将返回以下退出值:

0

成功完成。

1

出现错误。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os

另请参见

date(1)lgrpinfo(1)plgrp(1)proc(1)ps(1)time(2)psrinfo(1M)psrset(1M)sar(1M)pset_getloadavg(3C)proc(4)project(4)attributes(5)resource_controls (5)zones(5)

附注

prstat 显示的系统使用情况的快照只是瞬时正确,在显示时可能已不准确。当指定了 –m 选项时,prstat 将尝试为每个进程启用微状态记帐;当 prstat 退出时将恢复原始状态。有关微状态记帐功能的其他信息,请参见 proc(4)

在 SWAP 和 RSS 列中为进程组报告的总内存大小有时可能会高估具有共享内存片段的进程所使用的实际内存量。