sar 是 sysstat 软件包中的一个工具,用于收集、报告和保存系统活动信息。sar 能够显示系统的 cpu 使用率、内存使用率、i/o 统计信息等。使用 sar -f 命令,可以从 sar 日志文件中读取并显示系统活动信息。
一般用法
sar -f
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 -s -e
是包含 sar 收集的数据的日志文件。
是起始时间(格式为 hh:mm:ss)。
是结束时间(格式为 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:承诺内存的百分比。