Sysstat 是用于 Linux/Unix 系统的强大的日志记录和性能监控实用程序。 它可用于跟踪系统性能和使用活动。
Sysstat 将收集到的统计信息保存在一个文件中,该文件可以导出为各种格式,例如 JSON、CSV 等。尽管许多 Linux 发行版都包含基于 GUI 的监控应用程序,但 sysstat 在服务器设置中特别有用。
本指南将向您展示如何使用 sysstat 工具收集 Linux 上的关键系统信息。
安装系统统计工具
Systool 在各种 Linux 发行版的默认存储库中可用。 要在基于 Debian 的系统上安装,请使用以下命令:
$ sudo apt install systool
要在基于 Red-Hat 的发行版上安装,请运行以下命令:
$ sudo yum install systool
Sysstat的常见用法
sysstat 套件包含各种工具,可帮助收集有关 CPU 和 I/O 统计信息的信息。 本指南将讨论如何使用这些工具来获取系统信息。 这些工具包括:
- iostat – 显示驱动器和分区的 CPU 和 I/O 统计信息概览
- mpstat– 显示处理器统计信息。
- pidstat – 概述 I/O,进程的内存统计信息。
- sar – 用于收集和保存所有系统活动和报告。
- sadc- 收集系统使用活动并将其写入文件。
检查 CPU 使用率
Sars 用于收集系统统计信息,例如 CPU 利用率、内存等。 如图所示,查看当天的 CPU 利用率统计信息。 Sar 默认每 10 分钟监控一次数据。
$ sar -u
要显示设定时间段内的实时 CPU 利用率,请指定以秒为单位的时间间隔,后跟要报告的条目数。 例如,要每 3 秒查看一次总 CPU 利用率,总共运行 15 次:
$ sar -u 3 15
检查单个 CPU 使用率
目前,大多数 PC 都有多个内核。 要显示每个核心的统计信息,请使用 sars 命令后跟“-P ALL”参数,如下所示:
$ sar -P ALL 1 1
下面的屏幕显示了系统的四个核心,应用了相同的时间间隔和输出参数。
检查内存使用情况
要显示在特定时间使用的内存量,请使用 -r 选项。
$ sar -r
显示设备报告
使用 iostat 命令显示设备报告,显示当前每秒数据传输 (tps)、平均块速率以及数据读取和写入统计信息。 运行以下命令:
$ iostat -d
上面输出中的列表示:
- tps – 设备上每秒发出的传输
- kB_read/s – 显示每秒读取的千字节数(以块为单位)
- kB_wrtn/s – 每秒写入设备的数据量,以 kbs 为单位
- kB_read – 读取的总千字节
- kB_wrtn – 写入的总千字节数
要查看扩展 I/O 统计信息,请运行:
$ iostat -x
查看当前进程
pidstat 命令用于跟踪内核管理的每个单独的任务。 要获取有关正在运行的进程的信息,请运行 pidstat 命令后跟 -d 参数,如图所示。
$ pidstat -d
您还可以使用 -r 选项 pidstat 来分析特定进程的内存使用情况:
$ pidstat -r
结论
Sysstat 是一个强大的 Linux 环境监控工具。 有关 Systat 的更多信息,请查看 系统统计文档.