菜鸟笔记
提升您的技术认知

sar 资源监控利器

阅读 : 75

sar 是 sysstat 软件包中的一个工具,用于收集、报告和保存系统活动信息。sar 能够显示系统的 CPU 使用率、内存使用率、I/O 统计信息等。使用 sar -f 命令,可以从 sar 日志文件中读取并显示系统活动信息。

一般用法

sar -f <file>

file是包含 sar 收集的数据的日志文件。
示例
假设你有一个 sar 日志文件 /var/log/sa/sa01,你可以使用以下命令来读取该文件中的数据:

sar -f /var/log/sa/sa01

这将显示该日志文件中的系统活动信息,默认情况下会显示 CPU 活动信息。

常用选项

你可以使用其他选项来查看不同类型的系统活动信息:

-u:显示 CPU 使用情况。
-r:显示内存和交换区使用情况。
-b:显示 I/O 和传输速率。
-n:显示网络统计信息。
例如:

sar -u -f /var/log/sa/sa01  # 显示 CPU 使用情况
sar -r -f /var/log/sa/sa01  # 显示内存和交换区使用情况
sar -b -f /var/log/sa/sa01  # 显示 I/O 和传输速率
sar -n DEV -f /var/log/sa/sa01  # 显示网络设备统计信息

示例解释

假设你运行以下命令:

sar -u -f /var/log/sa/sa01

输出可能如下:

12:00:01 AM       CPU     %user     %nice   %system   %iowait    %steal     %idle
12:10:01 AM       all      3.45      0.01      1.23      0.12      0.00     95.19
12:20:01 AM       all      3.67      0.00      1.45      0.10      0.00     94.78
...
  • 12:00:01 AM:时间戳。
  • CPU:CPU 指标(all 表示所有 CPU 的平均值)。
  • %user:在用户空间运行的时间百分比。
  • %nice:在用户空间运行的、优先级被调整的进程的时间百分比。
  • %system:在内核空间运行的时间百分比。
  • %iowait:等待 I/O 完成的时间百分比。
  • %steal:虚拟 CPU 等待实际 CPU 的时间百分比。
  • %idle:空闲时间百分比。

查看某个时间段内存的使用情况

要查看系统在某个时间段内的内存使用情况,可以使用 sar 工具并指定 -r 选项,它会显示内存和交换区的使用情况。你还可以使用 -s 和 -e 选项来指定起始和结束时间。

命令格式

sar -r -f <file> -s <start_time> -e <end_time>
<file> 是包含 sar 收集的数据的日志文件。
<start_time> 是起始时间(格式为 HH:MM:SS)。
<end_time> 是结束时间(格式为 HH:MM:SS)。

示例

假设你有一个 sar 日志文件 /var/log/sa/sa01,你想查看从上午 10:00 到上午 11:00 的内存使用情况,可以使用以下命令:

sar -r -f /var/log/sa/sa01 -s 10:00:00 -e 11:00:00

解释示例输出

假设运行上述命令后,输出如下:

10:00:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
10:10:01 AM   1024000  20480000     95.24    102400   2048000   1024000      50.00
10:20:01 AM   1000000  20500000     95.34    102000   2049000   1025000      50.10
10:30:01 AM    980000  20520000     95.44    101800   2050000   1026000      50.20
10:40:01 AM    960000  20540000     95.54    101600   2051000   1027000      50.30
10:50:01 AM    940000  20560000     95.64    101400   2052000   1028000      50.40
11:00:01 AM    920000  20580000     95.74    101200   2053000   1029000      50.50
  • kbmemfree:空闲内存(以 KB 为单位)。
  • kbmemused:已用内存(以 KB 为单位)。
  • %memused:已用内存的百分比。
  • kbbuffers:用于缓冲的内存(以 KB 为单位)。
  • kbcached:用于缓存的内存(以 KB 为单位)。
  • kbcommit:承诺的内存(以 KB 为单位)。
  • %commit:承诺内存的百分比。