systat.1

SYSTAT(1)

SYSTAT(1)

FreeBSD General Commands Manual

SYSTAT(1)

systat

显示系统统计信息

systat [-display] [display-commands] [refresh-interval]

systat 实用程序使用 curses 屏幕显示库 ncurses(3) 以面向屏幕的方式显示各种系统统计信息。

systat 运行时,屏幕通常分为两个窗口(一个例外是使用整个屏幕的 vmstat 显示)。 上面的窗口描述了当前系统的平均负载。 下部窗口中显示的信息可能会有所不同,具体取决于用户命令。 屏幕上的最后一行保留用于用户输入和错误消息。

默认情况下, systat 在下部窗口中显示获得最大处理器百分比的进程。 其他显示显示交换空间使用情况、磁盘 I/O 统计信息 ( iostat(8) )、虚拟内存统计信息 ( vmstat(8) )、 TCP/IP 统计信息和网络连接 ( netstat(1) )。

输入在两个不同的级别进行解释。 “全局”命令解释器处理所有键盘输入。 如果此命令解释器无法识别命令,则输入行将传递给 per-display 命令解释器。 这允许每个显示器具有某些特定于显示器的命令。

命令行选项:

-display

- 标志期望 display 为以下之一: icmp 、 icmp6 、 ifstat 、 iostat 、 ip 、 ip6 、 netstat 、 pigs 、 sctp 、 swap 、 tcp 、 vmstatzarc, 这些显示也可以交互请求(不带 “-”) 并在下面详细描述。

refresh-interval

refresh-value 以秒为单位指定屏幕刷新时间间隔。 时间间隔可以是分数。

display-commands

特定于此显示的命令列表。 这些命令也可以交互输入,下面分别针对每个显示进行描述。 如果命令需要参数,可以将它们指定为单独的命令行参数。 命令行参数 -- 将完成显示命令。 例如:

`systat` `-ifstat` `-match` bge0,em1 `-pps`

这将显示名为 bge0 和 em1 的网络接口的每秒数据包统计信息。

`systat` `-iostat` `-numbers` `--` 2.1

这将以数字格式显示所有 IO 统计信息,并且信息将每 2.1 秒刷新一次。

某些字符会导致 systat 立即采取行动。这些都是

^L

刷新画面。

^G

打印显示在下部窗口中的当前“显示”的名称和刷新间隔。

:

将光标移动到命令行并将输入的行解释为命令。 输入命令时,可以使用当前字符擦除、字擦除和行终止字符。

以下命令由“全局”命令解释器解释。

help

在命令行上打印可用显示器的名称。

load

在命令行上打印过去 1、5 和 15 分钟的负载平均值。

stop

停止刷新屏幕。

[start] [number]

开始(继续)刷新屏幕。 如果提供了第二个数字参数,则将其解释为刷新间隔(以秒为单位)。 仅提供一个数字会将刷新间隔设置为此值。

quit

退出 systat 。 (这可以缩写为 q 。)

可用的显示有:

pigs

在下部窗口中显示那些驻留在主内存中并获得处理器最大部分的进程(默认显示)。 当少于 100% 的处理器被调度给用户进程时,剩余时间被计入“空闲”进程。

icmp

在下部窗口中显示有关 Internet 控制消息协议 (“ICMP接收和传输的消息的统计信息。”) 屏幕的左半部分显示有关已接收数据包的信息,右半部分显示有关已发送数据包的信息。

icmp 显示理解两个命令: moderesetmode 命令用于选择四种显示模式之一,作为其参数给出:

rate:

显示每秒数据包中每个值的变化率(默认)

delta:

显示每个刷新间隔的数据包中每个值的变化率

since:

显示自上次重置显示以来每个值的总变化

absolute:

显示每个统计量的绝对值

reset 命令重置 since 模式的基线。 不带参数的 mode 命令将在命令行中显示当前模式。

icmp6

此显示类似于 icmp 显示,但显示 IPv6 ICMP 的统计信息。

ip

其他方面与 icmp 显示相同,只是它显示 IP 和 UDP 统计信息。

ip6

ip display 类似,只是它显示 IPv6 统计信息。 它不显示 UDP statistics 信息。

sctp

icmp 类似,但具有 SCTP 统计信息。

tcp

icmp 类似,但具有 TCP 统计信息。

iostat

在下部窗口中显示有关处理器使用和磁盘吞吐量的统计信息。 处理器使用统计显示为在用户模式(“用户”)、在用户模式运行低优先级进程(“nice”)、在系统模式(“系统”)中执行的时间量的条形图,在中断模式(“中断”)和空闲(“空闲”)。 磁盘吞吐量统计数据显示,对于每个驱动器,每秒兆字节数、每秒平均磁盘事务数以及每个事务的平均数据千字节数。 此信息可以显示为条形图或向下滚动的数字行。 默认显示条形图。

以下命令特定于 iostat 显示;可以提供最小的明确前缀。

numbers

以数字形式显示磁盘 I/O 统计信息。 值显示在向下滚动的数字列中。

bars

以条形图形式显示磁盘 I/O 统计信息(默认)。

kbpt

切换每笔交易千字节的显示。 (默认是不显示每个事务的千字节)。

swap

显示编译到内核中的所有交换区域的交换空间使用信息。 第一列是分区的设备名称。 下一列是分区中可用的总空间。 Used 列表示到目前为止使用的总块数;该图显示了每个分区上正在使用的空间百分比。 如果有多个交换分区在使用中,还会显示总行。 内核已知但未使用的区域显示为不可用。

vmstat

占据整个显示屏并显示与虚拟内存使用、进程调度、设备中断、系统名称转换缓存、磁盘 I/O 等相关的统计信息概要(相当拥挤)。

屏幕的左上象限显示登录的用户数量以及过去一分钟、五分钟和十五分钟的平均负载。 此行下方是有关内存利用率的统计信息。 该表的第一行仅报告活动进程之间的内存使用情况,即在前 20 秒内运行的进程。 第二行报告所有进程的内存使用情况。 第一列报告进程声明的物理页面中的千字节数。 第二列报告专用于只读文本页面的物理页面中的千字节数。 第三列和第四列报告了虚拟页面的相同两个数字,即如果所有进程都拥有所有页面,则需要的页面千字节数。 最后一列显示空闲列表中物理页的千字节数。

内存显示下方是可运行线程(“r”)、页面等待(“p”)、磁盘等待(而不是分页)(“d”)的平均线程数(在上次刷新间隔内)的列表,睡眠(`s'),并换出但希望运行(`w')。 该行还显示了上下文切换(`Csw')、陷阱(`Trp';包括页面错误)、系统调用(`Sys')、中断(`Int')、网络软件中断(`Sof')的平均数量, 和页面错误 (`Flt')。

进程队列长度列表下方是一个数字列表和一个条形图,显示系统数量(显示为`=')、中断(显示为`+')、用户(显示为`>')、nice(显示为` -')和空闲时间(显示为` ')。

进程显示下方是名称翻译的统计信息。 它列出了在前一个时间间隔内翻译的名称数量、系统范围名称翻译缓存处理的翻译数量和百分比,以及每个进程名称翻译缓存处理的翻译数量和百分比。

名称转换显示的右侧是显示缓冲区缓存中的脏缓冲区数量(`dtbuf')、所需的 vnode 缓存最大大小(`desvn')、实际分配的 vnode 数量(`numvn')和空闲的已分配 vnode 的数量 (`frevn')。

左下方是磁盘使用情况显示。 它报告每个事务的千字节数、每秒事务数、每秒兆字节数以及磁盘在显示刷新周期(默认为 5 秒)内的平均繁忙时间百分比。 系统对大多数存储设备进行统计。 通常,最多显示七个设备。 默认显示的设备是内核设备列表中的第一个设备。 有关 devstat 系统的详细信息,请参阅 devstat(3) 和 devstat(9) 。

在右上角象限的日期下方是关于分页和交换活动的统计信息。 前两列报告由于页面错误和分页守护程序在最后一次刷新间隔内每秒引入和输出的平均页面数。 第三列和第四列报告由于调度程序发起的交换请求,在最后一个刷新间隔内每秒引入和输出的平均页面数。 显示屏的第一行显示上次刷新间隔内每秒的平均磁盘传输次数;显示屏的第二行显示上次刷新间隔内每秒传输的平均页面数。

分页统计信息下方是一列有关虚拟内存系统的行。 前几行以在采样间隔内平均每秒页数为单位(除以下说明外)描述了在写入时复制的页数(“cow”)、按需填零的页数(“zfod”)、最佳填零页数需求('ozfod'),(平均)ozfod / zfod 的百分比('%ozfod'),页面守护进程释放的页面('daefr'),退出进程释放的页面('prcfr'),释放的总页数(`totfr'),从空闲列表重新激活的页数(`react'),每秒唤醒页面守护程序的平均次数(`pdwak'),由页面守护程序分析的页面(`pdpgs' ) 和传输中阻塞页面错误 (`intrn')。 请注意,这些单位对于 `%ozfod' 和 `pdwak' 是特殊的。 接下来的几行描述了以千字节为单位的内存量,连接的页面('wire'),活动页面('act'),非活动页面('inact'),排队等待清洗的脏页面('laund'),以及免费页面(“免费”)。 请注意,显示的值是当前瞬态值;它们不是平均值。

在该列的底部有一行显示映射到缓冲区高速缓存 (`buf') 的虚拟内存量(以千字节为单位)。 这个统计没有用。 它仅作为相应有用统计信息(用于缓存磁盘的实际内存量)的占位符存在。 后者最重要的组成部分(vm 系统用于缓存磁盘的实际内存量)不可用,但可以从某些系统负载下的“inact”量猜测。

显示的右侧是系统正在处理的中断的细分。 列表顶部是时间间隔内每秒的总中断数。 该列的其余部分按设备细分总数。 仅显示自引导时间以来至少中断过一次的设备。

以下命令特定于 vmstat 显示;可以提供最小的明确前缀。

boot

显示自系统启动以来的累积统计信息。

run

从给出此命令的点开始,将统计信息显示为运行总计。

time

显示刷新间隔内的平均统计信息(默认值)。

zero

将运行统计重置为零。

zarc

显示弧缓存使用情况和命中/未命中统计信息。

netstat

在下部窗口中显示网络连接。 默认情况下,不显示等待请求的网络服务器。 每个地址都以“host.port”格式显示,如果可能,每个地址都以符号方式显示。 可以用数字显示地址,将显示限制为一组端口、主机和/或协议(可以提供最小的明确前缀):

all

切换等待请求的服务器进程的显示(这相当于 netstat(1) 的 -a 标志)。

numbers

以数字形式显示网络地址。

names

象征性地显示网络地址。

proto protocol

仅显示使用指定 protocol 的网络连接。 支持的协议是 ``tcp''、 ``udp'' 和 ``all''。

ignore [items]

不显示与指定主机或端口关联的连接信息。 主机和端口可以通过名称(“vangogh”、“ftp”)或数字来指定。 主机地址使用 Internet 点表示法 (``128.32.0.9'')。 可以使用单个命令指定多个项目,方法是用空格分隔它们。

display [items]

显示有关与指定主机或端口关联的连接的信息。 至于 ignore, [items] 可能是名称或数字。

show [ports|hosts]

在命令行上显示当前选择的协议、主机和端口。 被忽略的主机和端口以“!”为前缀。 如果将 ports 或 hosts 为参数提供给 show, 则仅显示请求的信息。

reset

将端口、主机和协议匹配机制重置为默认值(任何协议、端口或主机)。

ifstat

显示通过系统活动接口的网络流量。 空闲接口在收到一些流量之前不会显示。

对于显示的每个接口,都会显示传入和传出流量的当前、峰值和总统计信息。 默认情况下, ifstat 显示将自动缩放正在使用的单位,以便它们采用人类可读的格式。 用于当前和峰值流量列的缩放单位可以通过 scale 命令更改。

scale [units]

修改用于显示所有接口上的当前和峰值流量的比例。 可识别以下单位:kbit、kbyte、mbit、mbyte、gbit、gbyte 和 auto。

pps

以每秒数据包而不是每秒字节/位显示统计信息。 随后调用 pps 会关闭此模式。

match [patterns]

仅显示与作为参数提供的模式匹配的接口。 模式应采用由空格或逗号分隔的 shell 语法。 如果不带参数调用此命令,则显示所有接口。 例如:

match em0, bge1

这将显示 em0 和 bge1 接口。

match em*, bge*, lo0

这将显示所有 em 接口、所有 bge 接口和 loopback 接口。

在显示之间切换的命令可以缩写为最小的明确前缀;例如,“iostat”代表“io”。 当屏幕尺寸不足以显示时,某些信息可能会被丢弃。 例如,在具有 10 个驱动器的机器上, iostat 条形图仅在 24 线终端上显示 3 个驱动器。 当条形图溢出分配的屏幕空间时,它会被截断,实际值会打印在条形的“上方”。

以下命令对每个显示磁盘驱动器信息的显示器都是通用的。 如果您的系统配置的驱动器数量多于屏幕上通常显示的数量,这些命令用于选择要报告的一组驱动器。

ignore [drives]

不要显示有关指示的驱动器的信息。 可以指定多个驱动器,用空格分隔。

display [drives]

显示有关指示的驱动器的信息。 可以指定多个驱动器,用空格分隔。

only [drives]

仅显示指定的驱动器。 可以指定多个驱动器,用空格分隔。

drives

显示可用设备列表。

match type,if,pass [| ...]

显示与给定模式匹配的设备。 基本匹配表达式与 iostat(8) 中使用的相同,但有一点不同。 用户没有指定多个 -t 参数然后将它们一起进行 OR 运算,而是指定了多个由竖线 (‘|’) 字符连接的匹配表达式。 每个匹配表达式中逗号分隔的参数被 AND 在一起,然后管道分隔的匹配表达式被 OR 在一起。 如果有显示空间,任何匹配组合表达式的设备都会显示。 例如:

match da,scsi | cd,ide

这将显示所有 SCSI 直接访问设备和所有 IDE CDROM 设备。

match da | sa | cd,pass

这将显示所有直接访问设备、所有顺序访问设备和所有提供对 CDROM 驱动器访问的直通设备。

/boot/kernel/kernel

对于名单。

/dev/kmem

获取主存储器中的信息。

/etc/hosts

对于主机名。

/etc/networks

对于网络名称。

/etc/services

对于端口名称。

netstat(1) 、 kvm(3) 、 icmp(4) 、 icmp6(4) 、 ip(4) 、 ip6(4) 、 tcp(4) 、 udp(4) 、 gstat(8) 、 iostat(8) 、 vmstat(8)

systat 程序出现在 4.3BSD 中。 icmp 、 iptcp 显示出现在 FreeBSD 3.0 中;在 Silicon Graphics 的 IRIX 系统中,从 -C 选项到 netstat(1) 的 ICMP 、 IP 、 TCP 和 UDP 统计信息具有不同显示模式的概念被盗用。

某些显示假定每行至少 80 个字符。 Ifstat 未检测到新接口。 vmstat 显示看起来不合适,因为它是(它是作为单独的显示添加的,而不是作为新程序创建的)。

December 5, 2016

FreeBSD 13.1-RELEASE

最后更新于

FreeBSD 中文社区