Gre*_*egH 7 rhel-5 redhat-enterprise-linux
当我在 RHEL 5.7 机器上运行“sar -d”时,得到响应:
Requested activities not available in file
Run Code Online (Sandbox Code Playgroud)
如何配置 sar 来收集磁盘信息?
sysstat运行sa二进制文件的服务不收集/var/log/sa文件中的磁盘统计信息。这在默认情况下是关闭的,以防止日志在具有数百或数千个块设备的系统上变大。
当您运行sar报告磁盘统计信息时,文件中不可用的请求活动消息告诉您sa尚未收集磁盘统计信息,因此sar无法显示任何内容。
您可以添加具有SADC_OPTIONS值的配置参数/etc/sysconfig/sysstat
在错误 598794中添加了执行此操作的功能,因此您需要运行sysstat-7.0.2-11.el5或稍后运行。
编辑您的/etc/sysconfig/sysstat文件以包含如下一行:
SADC_OPTIONS="-d"
Run Code Online (Sandbox Code Playgroud)
然后 service sysstat restart
给它一些时间来收集数据(至少 20 分钟),然后sar -d应该可以工作。
小智 5
阅读手册页sadc以了解配置文件中的各种选项的作用sysstat。您应该看到类似以下内容:
-S { INT | DISK | SNMP | IPV6 | POWER | XDISK | ALL | XALL }
Specify which optional activities should be collected by sadc.
Run Code Online (Sandbox Code Playgroud)
CentOS 6 和 CentOS 7 中的默认值是-S DISK,但例如我在负责网络监控的机器上用 -S SNMP 替换了它。您可以像这样使用倍数:-S DISK -S POWER -S INT.
请注意,默认情况下您会获得许多统计信息sadc。-S 选项只是添加更多。
尝试这样的事情来了解sadc和sar是如何相关的:
# /usr/lib64/sa/sadc -S INT -S DISK 10 10 /tmp/test
(... wait 10 * 10 = 100 seconds ...)
# sar -f /tmp/test | head
Linux 3.10.0-123.20.1.el7.x86_64 (icinga02.foo) 11/02/15 _x86_64_ (4 CPU)
15:17:41 CPU %user %nice %system %iowait %steal %idle
15:17:51 all 13.94 0.00 2.48 0.03 0.00 83.55
15:18:01 all 14.71 0.00 2.46 0.00 0.00 82.83
15:18:11 all 17.72 0.00 1.88 0.00 0.00 80.40
15:18:21 all 11.47 0.00 1.30 0.00 0.00 87.22
15:18:31 all 18.43 0.00 1.98 0.00 0.00 79.59
Run Code Online (Sandbox Code Playgroud)
请注意,您现在可以从该文件中提取许多其他统计信息,load例如cpu:
# sar -q -f /tmp/test | head
Linux 3.10.0-123.20.1.el7.x86_64 (icinga02.foo) 11/02/15 _x86_64_ (4 CPU)
14:20:01 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
14:30:01 0 239 0.64 0.54 0.50 0
14:40:01 0 240 1.10 1.01 0.74 0
14:50:01 0 242 0.98 0.97 0.84 0
15:00:01 0 243 1.14 0.94 0.88 0
15:10:01 0 242 0.63 0.74 0.82 0
15:20:01 1 244 0.60 0.57 0.68 0
Average: 0 242 0.85 0.80 0.74 0
Run Code Online (Sandbox Code Playgroud)