如何在 Linux 上使用 sar 命令

shutterstock_1278851809

sar命令可让您查看Linux 计算机不同元素的性能统计数据,包括实时数据和历史数据。我们将向您展示如何使用这一重要资源。

sar 命令

sar命令或 System Activity Reporter 是sysstat软件包的一部分。它捕获一组统计信息,例如CPU 负载、内存分页、内存利用率、交换使用情况、网络 I/O 等等。它使您能够以实时快照的形式访问这些数据(向您显示计算机上正在发生的事情)和历史报告。

它作为守护进程在后台运行,每十分钟收集一组数据。当天的数据被写入一个文本文件。午夜过后,它被转换为二进制文件。这些文件每个月都会被覆盖,因此它们不会稳定地吞噬您的硬盘容量。

sar命令允许您询问系统并查看统计信息。但首先,您需要安装该sysstat软件包。

安装 sysstat 包

安装sysstat非常简单。我们使用Linux 系统的包管理器来安装它,然后使用它systemd来启用和启动后台守护程序。

sysstat在 Ubuntu 上安装,我们使用 apt:

sudo apt install sysstat

1-7

sysstat在 Fedora 上安装,请键入:

须藤 dnf 安装 sysstat

1b

为了在 Manjaro 上安装 sysstat,我们使用 pacman:

sudo pacman -S sysstat

1c

安装后,我们需要启用它,以便它可以在每次启动计算机时sysstat作为后台进程运行,并且我们需要现在启动它以便我们可以立即使用它。我们使用实用程序系列的systemctl一部分systemd来启用和启动守护程序。

sudo systemctl 启用 sysstat

2-7

sudo systemctl start sysstat

3-7

要查看sar您正在使用的版本并确保它正在响应,您可以使用-V(version) 选项:

sar -V

4-6

使用 sar 进行实时统计

您可以使用它sar来查看您的计算机内正在发生的事情。因为快照就是这样——特定时间点的游戏状态——有时趋势更有用,你可以要求sar显示几个快照,它们之间有指定的秒数。

中央处理器统计

要查看间隔两秒的三组 CPU 统计信息,我们将使用此命令,该命令使用-u(CPU) 选项。请注意,间隔是第一位的。因此,此命令读取为“以两秒为步长显示三组数据的 CPU 统计信息”。

sar -u 2 3

5-5

拉伸终端窗口可以使表格整齐排列,因此更易于阅读。

第一列的标题是命令执行的时间。列中的值是收集每组数据的时间。其他列是:

  • CPU : CPU 核心的数量,或ALL所有核心的平均值。
  • %User:在用户级别(“用户空间”)运行应用程序所花费的时间百分比。
  • %Nice:在用户级别运行应用程序所花费的时间百分比,优先级很好。
  • %system:在内核中系统级别执行进程所花费的时间百分比。
  • %iowait:CPU 因等待磁盘 I/O 请求而空闲的时间百分比。
  • %steal:在虚拟机中,这是由于硬件主机的 CPU 正在为不同的虚拟机服务而导致虚拟 CPU 空闲的时间百分比。
  • %idle : CPU在没有任何挂起的磁盘 I/O 请求的情况下空闲的时间百分比。

最后一行是前面几行的平均值。

要查看特定内核的统计信息,请使用-P(per-processor) 选项。后面是 CPU 内核的编号,或者内核编号的列表或范围,例如0,1,44-8

此命令查看三组数据,它们之间间隔一秒,对于核心 1。请记住,核心从零开始编号。

sar -P 1 1 3

12-4

内存分页统计

-Bpaging) 选项导致sar显示与内存分页到硬盘驱动器相关的统计信息。我们将要求两组信息,它们之间有五秒钟的时间。

sar -B 5 2

6-8

这些列包含以下信息。

  • pgpgin/s :系统每秒从硬盘中调入(检索)的千字节总数。
  • pgpgout/s :系统每秒调出到硬盘的千字节总数。
  • fault/s:系统每秒产生的次要和主要页面错误数。
  • majflt/s:系统每秒发生的重大故障数,需要从磁盘加载内存页面。
  • pgfree/s:系统每秒放置在空闲列表中的页数。
  • pgscank/s:内存管理系统kswapd守护进程每秒扫描的页数。
  • pgscand/s:每秒直接扫描的页数。
  • pgsteal/s:系统每秒从缓存中回收的页数。
  • %vmeff:计算为pgstealpgscan,这是页面回收效率的一个指标。

I/O 传输速率

要查看 I/O 和传输速率统计信息,请使用-b(注意,小写“b”)选项。我们要求三组数据,它们之间有四秒。

sar -b 4 3

7-6

这就是列的内容。

  • tps:每秒向物理设备发出的传输请求总数。请注意,这是请求的计数。他们可能并非都成功了。
  • rtps:每秒向物理设备发出的读取请求总数。
  • wtps:每秒向物理设备发出的写入请求总数。
  • dtps:每秒向物理设备发出的丢弃请求总数。
  • bread/s:从物理设备读取的数据总量。该数字以每秒 512 字节的块的形式给出。
  • bwrtn/s :每秒写入物理设备的数据总量(以块为单位)。
  • bdscd/s:每秒丢弃的数据总量,以块为单位。

您可以选择查看更多类别的信息。它们都以相同的方式使用。您还可以使用(all) 选项查看所有可能向您抛出-A的所有内容的完整转储。sar

查看 sar 手册页 以获取完整列表。

使用 sar 进行历史统计

要查看任何历史数据,只需将-s(start) 和-e(end) 选项 time 添加到任何常用sar命令即可。时间以 24 小时制表示。

要查看今天06:30 到 07:15 之间的 CPU 负载情况,我们将使用此命令。

sar -u -s 06:30:00 -e 07:15:00

14-2

要查看前一天的情况,请使用数字作为选项标志。数字表示报告的日期。-1选项表示昨天,选项-2表示两天前,依此类推。

让我们使用昨天的数据在 13:00 到 13:00 之间生成一个报告。

sar -u -1 -s 13:00:00 -e 13:30:00

15-2

指定您希望报告的日期的另一种方法是在命令行上使用当天数据文件的名称。我们使用-f(filename) 选项来执行此操作。

每日文件称为“saXX”,其中 XX 替换为月份中的某天。它们是在您的 Linux 计算机的日志文件夹中创建的。sar日志文件夹可能称为“/var/log/sa/”或“/var/log/sysstat/” 。

在 Ubuntu 上,它是“/var/log/sysstat/”,因此我们查看本月 21 日 14:00 到 14:30 之间的CPU 使用率的命令格式如下所示:

sar -u -s 14:00:00 -e 14:30:00 -f /var/log/sysstat/sa21

16-1

信息就是力量

并且肯定会为您提供足够的信息来对您的计算机性能sar做出明智的决定。

未经允许不得转载:表盘吧 » 如何在 Linux 上使用 sar 命令