如何使用 sysstat 工具监控 Linux 性能

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 的更多信息,请查看 系统统计文档.