问题:
# sar -q
Invalid system activity file: /var/log/sa/sa04 (0x5)
分析过程:
1. google之: 得到如下信息:
来自: http://sebastien.godard.pagesperso-orange.fr/faq.html
2. 怀疑是生成sa数据文件的sar和解析sa数据文件的sar命令的版本不同
# which sar
/usr/local/bin/sar # 这个是我读取sa数据文件的命令,版本号 8.0.0
# sar -V
sysstat version 8.0.0
(C) Sebastien Godard (sysstat <at> orange.fr)
3. 如何知道生成sa数据文件使用的是那个版本的sar呢?
一般这些文件都是写在cron里面的,所以grep一下cron的配置文件:(注意: grep sa 不是grep sar)
# grep sa -r /etc/cron*
/etc/cron.d/sysstat:*/10 * * * * root /usr/lib/sa/sa1 1 1
/etc/cron.d/sysstat:53 23 * * * root /usr/lib/sa/sa2 -A
# /usr/lib/sa/sa1 -V
sysstat version 7.0.2
(C) Sebastien Godard
4. 为什么会出现这种情况呢?
7.0.2 版本的sar是在 /usr/bin/ 目录下的, 而我的执行环境中的$PATH 变量如下:
# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
先找到了 /usr/local/bin 下的sar了
解决办法: (写sar的全路径呗)
#/usr/bin/sar -q