'\" te .\" Copyright (c) 2006, 2015, Oracle and/or its affiliates.All rights reserved. .TH prstat 1M "2015 年 5 月 21 日" "SunOS 5.11" "系统管理命令" .SH 名称 prstat \- 报告活动进程的统计信息 .SH 用法概要 .LP .nf \fBprstat\fR [\fB-acHJLmRrtTv\fR] [\fB-d\fR u | d] [\fB-C\fR \fIpsrsetlist\fR] [\fB-h\fR \fIlgrplist\fR] [\fB-j\fR \fIprojlist\fR] [\fB-k\fR \fItasklist\fR] [\fB-n\fR \fIntop\fR[,\fInbottom\fR]] [\fB-p\fR \fIpidlist\fR] [\fB-P\fR \fIcpulist\fR] [\fB-s\fR \fIkey\fR | \fB-S\fR \fIkey\fR ] [\fB-u\fR \fIeuidlist\fR] [\fB-U\fR \fIuidlist\fR] [\fB-z\fR \fIzoneidlist\fR] [\fB-Z\fR] [\fIinterval\fR [\fIcount\fR]] .fi .SH 描述 .sp .LP \fBprstat\fR 实用程序反复检查系统上的所有活动进程并根据选定的输出模式和排序顺序来报告统计信息。\fBprstat\fR 还提供了相应的选项以便仅检查与指定的 \fBPID\fR、\fBUID\fR、区域 \fBID\fR、\fBCPU\fR \fBID\fR 和处理器集 \fBID\fR 匹配的进程。 .sp .LP \fB-j\fR、\fB-k\fR、\fB-C\fR、\fB-p\fR、\fB-P\fR、\fB-u\fR、\fB-U\fR 和 \fB-z\fR 选项接受列表作为参数。列表中的项目可以逗号分隔,也可以括在引号内并以逗号或空格分隔。 .sp .LP 如果您没有指定选项,则 \fBprstat\fR 将检查所有进程并报告按 \fBCPU\fR 使用量排序的统计信息。 .SH 选项 .sp .LP 支持以下选项: .sp .ne 2 .mk .na \fB\fB-a\fR\fR .ad .sp .6 .RS 4n 报告关于进程和用户的信息。在此模式下,\fBprstat\fR 同时显示关于进程和用户的单独报告。 .RE .sp .ne 2 .mk .na \fB\fB-c\fR\fR .ad .sp .6 .RS 4n 在以前的报告下方列显新报告而不是将其覆盖。 .RE .sp .ne 2 .mk .na \fB\fB-C\fR \fIpsrsetlist\fR\fR .ad .sp .6 .RS 4n 仅报告绑定到给定列表中的处理器集的进程或 lwp。每个处理器集都由一个整数予以标识,如 \fBpsrset\fR(1M) 所报告。显示的负荷平均值是指定处理器集的负荷平均值的总和(请参见 \fBpset_getloadavg\fR(3C))。即使不使用 \fB-L\fR 选项,也会报告有一个或多个 LWP 绑定到给定列表中的处理器集的进程。 .RE .sp .ne 2 .mk .na \fB\fB-d\fR \fBu | d\fR\fR .ad .sp .6 .RS 4n 指定 \fBu\fR 表示时间的内部表示形式的印刷表示形式。请参见 \fBtime\fR(2)。指定 \fBd\fR 表示标准日期格式。请参见\fBdate\fR(1)。 .RE .sp .ne 2 .mk .na \fB\fB-h\fR \fIlgrplist\fR\fR .ad .sp .6 .RS 4n 仅报告其主 \fIlgroup\fR 位于给定的 \fIlgroup\fR 列表中的进程或 lwp。将不会为无效的 \fIlgroup\fR 列出进程或 lwp。 .RE .sp .ne 2 .mk .na \fB\fB-H\fR\fR .ad .sp .6 .RS 4n 报告关于主 \fIlgroup\fR 的信息。在此模式下,\fBprstat\fR 会增加一个额外的标题为 LGRP 的列,用以显示进程或 lwp 主 \fIlgroup\fR。 .RE .sp .ne 2 .mk .na \fB\fB-j\fR \fIprojlist\fR\fR .ad .sp .6 .RS 4n 仅报告其项目 \fBID\fR 位于给定列表中的进程或 lwp。每个项目 \fBID\fR 可以指定为项目名,也可以指定为项目的数字 \fBID\fR。请参见 \fBproject\fR(4)。 .RE .sp .ne 2 .mk .na \fB\fB-J\fR\fR .ad .sp .6 .RS 4n 报告关于进程和项目的信息。在此模式下,\fBprstat\fR 同时显示关于进程和项目的单独报告。 .RE .sp .ne 2 .mk .na \fB\fB-k\fR \fItasklist\fR\fR .ad .sp .6 .RS 4n 仅报告其任务 \fBID\fR 位于 \fItasklist\fR 中的进程或 lwp。 .RE .sp .ne 2 .mk .na \fB\fB-L\fR\fR .ad .sp .6 .RS 4n 报告每个轻量进程 (light-weight process, \fBLWP\fR) 的统计信息。缺省情况下,\fBprstat\fR 仅报告每个进程的 \fBLWP\fR 数。 .RE .sp .ne 2 .mk .na \fB\fB-m\fR\fR .ad .sp .6 .RS 4n 报告微状态进程记帐信息。除了在 \fB-v\fR 模式下列出的所有字段外,此模式还包括进程在处理系统陷阱、文本缺页、数据缺页以及等待用户锁和等待 \fBCPU\fR(延迟时间)方面花费的时间所占的百分比。 .RE .sp .ne 2 .mk .na \fB\fB-n\fR \fIntop\fR[\fI,nbottom\fR]\fR .ad .sp .6 .RS 4n 限制输出行数。\fIntop\fR 参数确定将报告多少行处理器或 \fBlwp\fR 统计信息,并且如果指定了 \fB-a\fR、\fB-t\fR、\fB-T\fR、\fB-J\fR 或 \fB-Z\fR 选项,\fInbottom\fR 参数还确定将报告多少行用户、任务或项目统计信息。缺省情况下,\fBprstat\fR 会显示正好填满窗口或终端的输出行数。当您指定了 \fB-c\fR 选项或者将输出定向到某个文件时,\fBntop\fR 和 \fBnbottom\fR 的缺省值分别为 \fB15\fR 和 \fB5\fR。 .RE .sp .ne 2 .mk .na \fB\fB-p\fR \fIpidlist\fR\fR .ad .sp .6 .RS 4n 仅报告其进程 \fBID\fR 位于给定列表中的进程。 .RE .sp .ne 2 .mk .na \fB\fB-P\fR \fIcpulist\fR\fR .ad .sp .6 .RS 4n 仅报告在给定列表中的 \fBCPU\fR 上最近执行的进程或 \fBlwp\fR。每个 \fBCPU\fR 都由一个整数予以标识,如 \fBpsrinfo\fR(1M) 所报告。 .RE .sp .ne 2 .mk .na \fB\fB-R\fR\fR .ad .sp .6 .RS 4n 将 \fBprstat\fR 置于实时调度分类中。当使用了此选项时,将授予 \fBprstat\fR 高于分时进程和交互式进程的优先级。此选项仅可供超级用户使用。 .RE .sp .ne 2 .mk .na \fB\fB-r\fR\fR .ad .sp .6 .RS 4n 禁用对用户名和项目名称的查找。(请注意,这不适用于 \fB-j\fR、\fB-u\fR 或 \fB-U\fR 选项的查找。) .RE .sp .ne 2 .mk .na \fB\fB-s\fR \fIkey\fR\fR .ad .sp .6 .RS 4n 依据 \fIkey\fR 按降序对输出行(即,进程、\fBlwp\fR 或用户)进行排序。只能将一个 \fIkey\fR 用作参数。 .sp 有五个可能的 key 值: .sp .ne 2 .mk .na \fBcpu\fR .ad .sp .6 .RS 4n 按进程 \fBCPU\fR 使用量进行排序。这是缺省值。 .RE .sp .ne 2 .mk .na \fBpri\fR .ad .sp .6 .RS 4n 按进程优先级进行排序。 .RE .sp .ne 2 .mk .na \fBrss\fR .ad .sp .6 .RS 4n 按驻留集大小进行排序。 .RE .sp .ne 2 .mk .na \fBsize\fR .ad .sp .6 .RS 4n 按进程映像的大小进行排序。 .RE .sp .ne 2 .mk .na \fBtime\fR .ad .sp .6 .RS 4n 按进程执行时间进行排序。 .RE .RE .sp .ne 2 .mk .na \fB\fB-S\fR \fIkey\fR\fR .ad .sp .6 .RS 4n 依据 \fIkey\fR 按升序对输出行进行排序。可能的 \fIkey\fR 值与 \fB-s\fR 选项的情况相同。请参见 \fB-s\fR。 .RE .sp .ne 2 .mk .na \fB\fB-t\fR\fR .ad .sp .6 .RS 4n 报告每个用户的总使用量汇总。汇总包括用户拥有的进程或 \fBLWP\fR 的总数、进程映像的总大小、总驻留集大小、总 cpu 时间,以及最近的 cpu 时间和系统内存所占的百分比。 .RE .sp .ne 2 .mk .na \fB\fB-T\fR\fR .ad .sp .6 .RS 4n 报告关于进程和任务的信息。在此模式下,\fBprstat\fR 同时显示关于进程和任务的单独报告。 .RE .sp .ne 2 .mk .na \fB\fB-u\fR \fIeuidlist\fR\fR .ad .sp .6 .RS 4n 仅报告其有效用户 \fBID\fR 位于给定列表中的进程。每个用户 \fBID\fR 可以指定为登录名或数字用户 \fBID\fR。 .RE .sp .ne 2 .mk .na \fB\fB-U\fR \fIuidlis\fRt\fR .ad .sp .6 .RS 4n 仅报告其实际用户 \fBID\fR 位于给定列表中的进程。每个用户 \fBID\fR 可以指定为登录名或数字用户 \fBID\fR。 .RE .sp .ne 2 .mk .na \fB\fB-v\fR\fR .ad .sp .6 .RS 4n 报告详细的进程使用情况。此输出格式包括进程在用户模式、系统模式和睡眠模式下花费的时间所占百分比。它还包括主动和偶然上下文切换数、系统调用数以及接收到的信号数。未报告的统计信息用 \fB-\fR 号标出。 .RE .sp .ne 2 .mk .na \fB\fB-z\fR \fIzoneidlist\fR\fR .ad .sp .6 .RS 4n 仅报告其区域 ID 位于给定列表中的进程或 LWP。每个区域 ID 可以指定为区域名称,也可以指定为数字区域 ID。请参见 \fBzones\fR(5)。 .RE .sp .ne 2 .mk .na \fB\fB-Z\fR\fR .ad .sp .6 .RS 4n 报告关于进程和区域的信息。在此模式下,\fBprstat\fR 同时显示关于进程和区域的单独报告。 .RE .SH 输出 .sp .LP 下面的列表定义了 \fBprstat\fR 报告的列标题和含义: .sp .ne 2 .mk .na \fBPID\fR .ad .sp .6 .RS 4n 进程的进程 \fBID\fR。 .RE .sp .ne 2 .mk .na \fBUSERNAME\fR .ad .sp .6 .RS 4n 实际用户(登录)名或实际用户 \fBID\fR。 .RE .sp .ne 2 .mk .na \fBSIZE\fR .ad .sp .6 .RS 4n 进程的总虚拟内存大小(包括所有映射的文件和设备),以千字节 (K)、兆字节 (M) 或千兆字节 (G) 为单位。进程的驻留集大小 (resident set size, \fBRSS\fR),以千字节 (K)、兆字节 (M) 或千兆字节 (G) 为单位。 .RE .sp .ne 2 .mk .na \fBSWAP\fR .ad .sp .6 .RS 4n 每个用户、项目、任务或区域的关联进程的交换预留空间的总和。对于每个用户、项目、任务或区域,这只会将共享内存计入一次。在分配匿名内存或将文件映射为专用的时,将预留交换空间。交换空间的值是以千字节 (K)、兆字节 (M) 或千兆字节 (G) 为单位表示的。 .RE .sp .ne 2 .mk .na \fBRSS\fR .ad .sp .6 .RS 4n 进程的驻留集大小 (resident set size, \fBRSS\fR),以千字节 (\fBK\fR)、兆字节 (\fBM\fR) 或千兆字节 (\fBG\fR) 为单位。RSS 值是由 \fBproc\fR(4) 提供的一个估计值,这可能会低估实际的驻留集大小。如果用户希望获得更准确的使用量信息来进行容量规划,则应当改用 \fBpmap\fR(1) 的 \fB-x\fR 选项。 .RE .sp .ne 2 .mk .na \fBSTATE\fR .ad .sp .6 .RS 4n 进程的状态: .sp .ne 2 .mk .na \fBcpu\fIN\fR\fR .ad .sp .6 .RS 4n 进程正在 \fBCPU\fR \fIN\fR 上运行。 .RE .sp .ne 2 .mk .na \fBsleep\fR .ad .sp .6 .RS 4n 睡眠:进程正在等待某个事件完成。 .RE .sp .ne 2 .mk .na \fBwait\fR .ad .sp .6 .RS 4n 正在等待:进程正在等待 CPU 使用量降低到由 CPU 上限实施的限制。请参见 \fBresource-controls \fR(5) 中的 \fBCPU-caps\fR 的说明。 .RE .sp .ne 2 .mk .na \fBrun\fR .ad .sp .6 .RS 4n 可运行:进程在一个正在运行的队列中。 .RE .sp .ne 2 .mk .na \fBzombie\fR .ad .sp .6 .RS 4n 僵尸状态:进程已终止并且父进程未在等待。 .RE .sp .ne 2 .mk .na \fBstop\fR .ad .sp .6 .RS 4n 进程已停止。 .RE .RE .sp .ne 2 .mk .na \fBPRI\fR .ad .sp .6 .RS 4n 进程的优先级。数字越大表示优先级越高。 .RE .sp .ne 2 .mk .na \fBNICE\fR .ad .sp .6 .RS 4n 在优先级计算中使用的 nice 值。只有特定调度分类中的进程才有 nice 值。 .RE .sp .ne 2 .mk .na \fBTIME\fR .ad .sp .6 .RS 4n 进程的累积执行时间。 .RE .sp .ne 2 .mk .na \fBCPU\fR .ad .sp .6 .RS 4n 进程最近使用的 \fBCPU\fR 时间所占百分比。如果是在非全局\fB区域\fR中执行并且池功能处于活动状态,则此百分比将是由\fB区域\fR绑定到的池使用的处理器集中的处理器对应的百分比。 .RE .sp .ne 2 .mk .na \fBPROCESS\fR .ad .sp .6 .RS 4n 进程的名称(执行的文件的名称)。 .RE .sp .ne 2 .mk .na \fBLWPID\fR .ad .sp .6 .RS 4n 所报告的 \fBlwp\fR 的 \fBlwp\fR \fBID\fR。 .RE .sp .ne 2 .mk .na \fBNLWP\fR .ad .sp .6 .RS 4n 进程中的 \fBlwp\fR 数。 .RE .sp .LP 使用某些选项时,除了上面显示的一些列标题外,还会显示: .sp .ne 2 .mk .na \fBNPROC\fR .ad .sp .6 .RS 4n 指定集合中的进程数。 .RE .sp .ne 2 .mk .na \fBMEMORY\fR .ad .sp .6 .RS 4n 某个指定的进程集合使用的内存所占的百分比。 .RE .sp .LP 当指定了 \fB-v\fR 或 \fB-m\fR 选项时,将显示以下列。 .sp .ne 2 .mk .na \fBUSR\fR .ad .sp .6 .RS 4n 进程在用户模式下花费的时间所占的百分比。 .RE .sp .ne 2 .mk .na \fBSYS\fR .ad .sp .6 .RS 4n 进程在系统模式下花费的时间所占的百分比。 .RE .sp .ne 2 .mk .na \fBTRP\fR .ad .sp .6 .RS 4n 进程在处理系统陷阱时花费的时间所占的百分比。 .RE .sp .ne 2 .mk .na \fBTFL\fR .ad .sp .6 .RS 4n 进程在处理文本缺页时花费的时间所占的百分比。 .RE .sp .ne 2 .mk .na \fBDFL\fR .ad .sp .6 .RS 4n 进程在处理数据缺页时花费的时间所占的百分比。 .RE .sp .ne 2 .mk .na \fBLCK\fR .ad .sp .6 .RS 4n 进程在等待用户锁时花费的时间所占的百分比。 .RE .sp .ne 2 .mk .na \fBSLP\fR .ad .sp .6 .RS 4n 进程在睡眠中度过的时间所占的百分比。 .RE .sp .ne 2 .mk .na \fBLAT\fR .ad .sp .6 .RS 4n 进程在等待 CPU 时花费的时间所占的百分比。 .RE .sp .ne 2 .mk .na \fBVCX\fR .ad .sp .6 .RS 4n 主动上下文切换数。 .RE .sp .ne 2 .mk .na \fBICX\fR .ad .sp .6 .RS 4n 偶然上下文切换数。 .RE .sp .ne 2 .mk .na \fBSCL\fR .ad .sp .6 .RS 4n 系统调用数。 .RE .sp .ne 2 .mk .na \fBSIG\fR .ad .sp .6 .RS 4n 接收到的信号数。 .RE .sp .LP 使用了 \fB-L\fR 选项时,将为进程中的每个 \fBlwp\fR 列显一行,并且某些报告字段会显示 \fBlwp\fR(而不是进程)的值。 .sp .LP 当指定了 \fB-H\fR 选项时会显示以下列: .sp .ne 2 .mk .na \fBLGRP\fR .ad .sp .6 .RS 4n 进程或 lwp 的主 \fIlgroup\fR。 .RE .SH 操作数 .sp .LP 支持下列操作数: .sp .ne 2 .mk .na \fB\fIcount\fR\fR .ad .sp .6 .RS 4n 指定重复统计信息的次数。缺省情况下,\fBprstat\fR 会一直报告统计信息,直至收到一个终止信号。 .RE .sp .ne 2 .mk .na \fB\fIinterval\fR\fR .ad .sp .6 .RS 4n 以秒为单位指定抽样间隔;缺省间隔是 \fB5\fR 秒。 .RE .SH 示例 .LP \fB示例 1 \fR报告五个最活跃的超级用户进程 .sp .LP 以下命令报告在 \fBCPU1\fR 和 \fBCPU2\fR 上运行的五个最活跃的超级用户进程: .sp .in +2 .nf example% prstat -u root -n 5 -P 1,2 1 1 PID USERNAME SIZE 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 .fi .in -2 .sp .LP \fB示例 2 \fR显示详细的进程使用情况信息 .sp .LP 以下命令显示了由用户 \fBroot\fR 和 \fBjohn\fR 拥有的具有最小驻留集大小的进程的详细进程使用量信息。 .sp .in +2 .nf 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 .fi .in -2 .sp .SH 退出状态 .sp .LP 将返回以下退出值: .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .sp .6 .RS 4n 成功完成。 .RE .sp .ne 2 .mk .na \fB\fB1\fR\fR .ad .sp .6 .RS 4n 出现错误。 .RE .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/core-os .TE .SH 另请参见 .sp .LP \fBdate\fR(1)、\fBlgrpinfo\fR(1)、\fBplgrp\fR(1)、\fBproc\fR(1)、\fBps\fR(1)、\fBtime\fR(2)、\fBpsrinfo\fR(1M)、\fBpsrset\fR(1M)、\fBsar\fR(1M)、\fBpset_getloadavg\fR(3C)、\fBproc\fR(4)、\fBproject\fR(4)、\fBattributes\fR(5)、\fBresource-controls \fR(5)、\fBzones\fR(5) .SH 附注 .sp .LP \fBprstat\fR 显示的系统使用情况的快照只是瞬时正确,在显示时可能已不准确。当指定了 \fB-m\fR 选项时,\fBprstat\fR 将尝试为每个进程启用微状态记帐;当 \fBprstat\fR 退出时将恢复原始状态。有关微状态记帐功能的其他信息,请参见 \fBproc\fR(4)。 .sp .LP 在 SWAP 和 RSS 列中为进程组报告的总内存大小有时可能会高估具有共享内存片段的进程所使用的实际内存量。