Linux sar 命令实战示例

LinuxBeginner
立即练习

介绍

在本实验中,你将学习如何使用 Linux 的 sar(System Activity Reporter,系统活动报告器)命令来监控和分析系统性能指标。sar 命令是一个强大的工具,能够收集、报告并保存系统活动信息,提供包括 CPU 利用率、内存使用情况、网络流量和磁盘 I/O 在内的各种性能指标的全面视图。你将首先了解 sar 命令的用途以及如何安装所需的 sysstat 包。接着,你将探索 sar 命令提供的不同选项和标志,以分析特定的系统性能方面。最后,你将练习使用 sar 命令来监控和解释系统性能数据。

Linux 命令速查表

理解 sar 命令及其用途

在这一步中,你将学习 Linux 中的 sar(System Activity Reporter,系统活动报告器)命令,并了解其在系统监控和性能分析中的用途。

sar 命令是一个强大的工具,能够收集、报告并保存系统活动信息。它提供了包括 CPU 利用率、内存使用情况、网络流量和磁盘 I/O 在内的各种系统性能指标的全面视图。sar 命令是 sysstat 包的一部分,通常预装在大多数 Linux 发行版中。

要安装 sysstat 包,请运行以下命令:

sudo apt-get update
sudo apt-get install sysstat

安装完成后,你就可以开始使用 sar 命令来监控系统的性能。

示例用法:

sudo sar -u 1 5

该命令将每 1 秒显示一次 CPU 利用率,共显示 5 次。

示例输出:

Linux 5.15.0-1023-aws (ip-172-31-19-178)   01/24/2023      _x86_64_        (2 CPU)

01:53:46 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
01:53:47 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
01:53:48 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
01:53:49 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
01:53:50 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
01:53:51 PM     all      0.00      0.00      0.00      0.00      0.00    100.00

输出显示了系统的 CPU 利用率,包括 %user%nice%system%iowait%steal%idle 指标。

在下一步中,你将探索 sar 命令提供的各种选项和标志,以分析不同的系统性能指标。

探索 sar 命令的选项和标志

在这一步中,你将探索 sar 命令提供的各种选项和标志,以分析不同的系统性能指标。

sar 命令提供了多种选项来收集和显示特定的系统性能数据。一些常用的选项包括:

  • -u:显示 CPU 利用率
  • -r:显示内存利用率
  • -d:显示磁盘 I/O 统计信息
  • -n:显示网络统计信息
  • -b:显示 I/O 和传输速率统计信息
  • -p:显示分区统计信息
  • -q:显示运行队列长度和平均负载

让我们尝试其中一些选项:

sudo sar -u 1 5

该命令将每 1 秒显示一次 CPU 利用率,共显示 5 次。

示例输出:

Linux 5.15.0-1023-aws (ip-172-31-19-178)   01/24/2023      _x86_64_        (2 CPU)

01:55:46 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
01:55:47 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
01:55:48 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
01:55:49 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
01:55:50 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
01:55:51 PM     all      0.00      0.00      0.00      0.00      0.00    100.00

现在,让我们尝试使用 -r 选项来显示内存利用率:

sudo sar -r 1 5

示例输出:

Linux 5.15.0-1023-aws (ip-172-31-19-178)   01/24/2023      _x86_64_        (2 CPU)

01:56:46 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
01:56:47 PM   1906732    113236     5.61        0     43484    124148      6.11     67620     45616         0
01:56:48 PM   1906732    113236     5.61        0     43484    124148      6.11     67620     45616         0
01:56:49 PM   1906732    113236     5.61        0     43484    124148      6.11     67620     45616         0
01:56:50 PM   1906732    113236     5.61        0     43484    124148      6.11     67620     45616         0
01:56:51 PM   1906732    113236     5.61        0     43484    124148      6.11     67620     45616         0

此输出显示了各种与内存相关的指标,例如空闲内存、已用内存、缓冲区和缓存。

你可以探索其他选项,如 -d-n-b-p,以分析不同的系统性能方面。

记住,你可以随时使用 sar --help 命令来获取所有可用选项及其描述的列表。

使用 sar 分析系统性能指标

在这一步中,你将学习如何使用 sar 命令分析各种系统性能指标。

sar 命令提供了多种选项来收集和显示特定的系统性能数据。让我们探索一些常见的用例:

  1. CPU 利用率
sudo sar -u 1 10

该命令将每 1 秒显示一次 CPU 利用率,共显示 10 次。

  1. 内存利用率
sudo sar -r 1 10

该命令将每 1 秒显示一次内存利用率,共显示 10 次。

  1. 磁盘 I/O 统计信息
sudo sar -d 1 10

该命令将每 1 秒显示一次磁盘 I/O 统计信息,共显示 10 次。

  1. 网络统计信息
sudo sar -n DEV 1 10

该命令将每 1 秒显示一次网络接口统计信息,共显示 10 次。

  1. I/O 和传输速率统计信息
sudo sar -b 1 10

该命令将每 1 秒显示一次 I/O 和传输速率统计信息,共显示 10 次。

你还可以结合多个选项来同时分析不同的性能指标。例如:

sudo sar -u -r -d 1 10

该命令将每 1 秒显示一次 CPU、内存和磁盘 I/O 统计信息,共显示 10 次。

sar 命令提供了丰富的信息,你可以利用它来识别性能瓶颈、监控系统健康状况以及排查 Linux 环境中的问题。

总结

在本实验中,你将学习 Linux 中的 sar(System Activity Reporter,系统活动报告器)命令,并了解其在系统监控和性能分析中的用途。你将探索 sar 命令提供的各种选项和标志,以分析不同的系统性能指标,例如 CPU 利用率、内存使用情况、网络流量和磁盘 I/O。sar 命令是一个强大的工具,能够收集、报告并保存系统活动信息,为你提供系统性能的全面视图。

Linux 命令速查表