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:承诺内存的百分比。