Sysstat 包包含许多商业单位共有的各种实用程序,用于监控系统性能和使用活动:
iostat(1) 报告设备、分区和网络文件系统的CPU统计和硬盘吞吐效率的数据。 # 核心工具mpstat(1) 报告单个或组合处理器相关的统计数据。pidstat(1) 报告Linux任务 (进程) 的统计信息: I/O、CPU、内存等。tapestat(1) 报告连接到系统的磁带驱动器的统计信息。cifsiostat(1) 报告CIFS统计。sysstat(5) 只是sysstat配置文件的手动页面,给出了sysstat命令使用的环境变量的含义。
Sysstat 还包含您可以通过 cron 或 systemd 计划收集和记录性能和活动数据的工具:
sar(1) 收集、报告和保存系统活动信息 (CPU、内存、磁盘、中断、网络接口、TTY、内核表等)。 # 数据统计核心工具sadc(8) 是系统活动数据收集器,用作sar的后端。sa1(8) 在系统活动每日数据文件中收集并存储二进制数据。它是sadc的前端,设计为从cron或systemd运行。sa2(8) 撰写每日活动总结报告。它是从cron或systemd运行的sar的前端。sadf(1) 以多种格式 (CSV、XML、JSON等) 显示由sar收集的数据,并可用于与其他程序的数据交换。该命令还可用于为sar使用SVG (可伸缩矢量图形) 格式收集的各种活动绘制图形。 ## 1 性能及运行状况监控 ### 1.1 isstat 使用方法:iostat [ options ] [ <interval> [ <count> ] ]bash $ iostat --help Usage: iostat [ options ] [ <interval> [ <count> ] ] Options are: [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -s ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ { -f | +f } <directory> ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ --dec={ 0 | 1 | 2 } ] [ --human ] [ -o JSON ] [ [ -H ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ] [ <device> [...] | ALL ]参数释义:-c: 仅显示cpu的状态-d: 仅显示存储设备的状态,不可以和-c一起使用-k: 默认显示的是读入读出的block信息,用-k可以改成KB大小来显示 -m-t: 显示日期-p device | ALL: device为某个设备或者某个分区,如果使用ALL,就表示要显示所有分区和设备的信息-x: 显示扩展状态,显示更多内容
举例:每一秒钟打印一次CPU状态,打印3次 ```bash $ iostat -c 1 3 Linux 3.10.0-957.21.3.el7.x8664 (frytea-dev-test) 07/14/2020 x8664 (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
avg-cpu: %user %nice %system %iowait %steal %idle
avg-cpu: %user %nice %system %iowait %steal %idle
bash iostat -x Linux 3.10.0-957.21.3.el7.x8664 (frytea-dev-test) 07/14/2020 x8664 (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
Device r/s rkB/s rrqm/s %rrqm rawait rareq-sz w/s wkB/s wrqm/s %wrqm wawait wareq-sz d/s dkB/s drqm/s %drqm dawait dareq-sz f/s fawait aqu-sz %util vda 0.01 0.14 0.00 0.06 1.19 16.99 0.65 5.88 0.21 24.79 7.65 9.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01
bash $ mpstat --help Usage: mpstat [ options ] [ <interval> [ <count> ] ] Options are: [ -A ] [ -n ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ] [ -N { <node_list> | ALL } ] [ --dec={ 0 | 1 | 2 } ] [ -o JSON ] [ -P { <cpu_list> | ALL } ]
bash $ mpstat -P ALL 1 3 Linux 3.10.0-957.21.3.el7.x8664 (frytea-dev-test) 07/14/2020 x8664 (2 CPU)
11:35:24 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 11:35:25 AM all 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 99.00 11:35:25 AM 0 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.00 11:35:25 AM 1 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 99.00
11:35:25 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 11:35:26 AM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 11:35:26 AM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 11:35:26 AM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
11:35:26 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 11:35:27 AM all 0.00 0.00 0.99 0.00 0.00 0.00 0.00 0.00 0.00 99.01 11:35:27 AM 0 0.00 0.00 0.99 0.00 0.00 0.00 0.00 0.00 0.00 99.01 11:35:27 AM 1 0.00 0.00 0.99 0.00 0.00 0.00 0.00 0.00 0.00 99.01
Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle Average: all 0.17 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 99.33 Average: 0 0.33 0.00 0.33 0.00 0.00 0.00 0.00 0.00 0.00 99.33 Average: 1 0.00 0.00 0.67 0.00 0.00 0.00 0.00 0.00 0.00 99.33
bash pidstat -dl Linux 3.10.0-957.21.3.el7.x8664 (frytea-dev-test) 07/14/2020 x8664 (2 CPU)
12:01:54 PM UID PID kBrd/s kBwr/s kBccwr/s Command 12:01:54 PM 0 1 0.11 0.58 0.05 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 12:01:54 PM 0 48 0.00 0.00 0.00 kworker/u4:1 12:01:54 PM 0 226 0.00 0.00 0.00 kworker/u4:2 12:01:54 PM 0 328 0.00 0.85 0.00 jbd2/vda1-8 12:01:54 PM 0 397 0.00 1.95 0.00 /usr/lib/systemd/systemd-journald 12:01:54 PM 0 416 0.01 0.00 0.00 /usr/lib/systemd/systemd-udevd 12:01:54 PM 0 496 0.00 0.01 0.00 /sbin/auditd 12:01:54 PM 0 594 0.00 0.00 0.00 /usr/lib/systemd/systemd-logind 12:01:54 PM 999 598 0.00 0.00 0.00 /usr/lib/polkit-1/polkitd --no-debug 12:01:54 PM 81 599 0.00 0.00 0.00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 12:01:54 PM 998 616 0.00 0.00 0.00 /usr/sbin/chronyd 12:01:54 PM 0 659 0.00 0.00 0.00 /usr/sbin/atd -f 12:01:54 PM 0 673 0.00 0.00 0.00 /sbin/agetty --keep-baud 115200,38400,9600 ttyS0 vt220 12:01:54 PM 0 895 0.00 0.00 0.00 /usr/bin/python2 -Es /usr/sbin/tuned -l -P 12:01:54 PM 0 898 0.00 0.04 0.00 /usr/sbin/rsyslogd -n 12:01:54 PM 0 1110 0.01 1.80 0.02 /usr/sbin/sshd -D 12:01:54 PM 0 13001 0.00 0.00 0.00 /usr/local/aegis/AliSecGuard/AliSecGuard 12:01:54 PM 0 13646 0.00 0.01 0.00 /usr/sbin/crond -n 12:01:54 PM 0 17624 0.00 0.02 0.00 /usr/local/aegis/aegisupdate/AliYunDunUpdate 12:01:54 PM 0 17651 0.00 0.00 0.00 /usr/local/aegis/aegisclient/aegis10_83/AliYunDun 12:01:54 PM 0 23766 0.00 0.00 0.00 /usr/sbin/aliyun-service 12:01:54 PM 0 23924 0.00 0.02 0.00 -bash
bash $ tapestat --help Usage: tapestat [ options ] [ <interval> [ <count> ] ] Options are: [ --human ] [ -k | -m ] [ -t ] [ -V ] [ -y ] [ -z ] [root@frytea-dev-test ~]# tapestat -k
bash $ cifsiostat --HELO Usage: cifsiostat [ options ] [ <interval> [ <count> ] ] Options are: [ --dec={ 0 | 1 | 2 } ] [ --human ] [ -h ] [ -k | -m ] [ -t ] [ -V ]
bash sar --help Usage: sar [ options ] [ <interval> [ <count> ] ] Main options and reports (report name between square brackets):
bash
sar -n DEV 2 4
Linux 3.10.0-957.21.3.el7.x8664 (frytea-dev-test) 07/14/2020 x8664 (2 CPU)
12:00:50 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 12:00:52 PM eth0 2.50 2.50 0.14 1.28 0.00 0.00 0.00 0.00 12:00:52 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:00:52 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 12:00:54 PM eth0 1.50 1.00 0.09 0.33 0.00 0.00 0.00 0.00 12:00:54 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:00:54 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 12:00:56 PM eth0 2.00 1.50 0.12 0.36 0.00 0.00 0.00 0.00 12:00:56 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
12:00:56 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 12:00:58 PM eth0 1.00 1.00 0.07 0.33 0.00 0.00 0.00 0.00 12:00:58 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil Average: eth0 1.75 1.50 0.11 0.58 0.00 0.00 0.00 0.00 Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
bash
$ /usr/local/lib64/sa/sadc --help
Usage: /usr/local/lib64/sa/sadc [ options ] [ <interval> [ <count> ] ] [