cpustat
是一个用于监控 CPU 使用情况的工具,它是 sysstat
包的一部分。要使用 cpustat
进行历史数据对比,你需要先收集历史数据,然后进行比较。以下是具体步骤:
安装 sysstat(如果尚未安装):
sudo yum install sysstat
启用 cpustat 数据收集:
编辑 /etc/cron.d/sysstat
文件,确保以下行没有被注释掉(删除行首的 #
):
# 0 * * * * root test -x /usr/lib64/sa/sa1 -a \( -f /var/log/sa/sa$(date +\%d) \) -a \( -f /var/log/sa/sa$(date +\%d -1) \) && /usr/lib64/sa/sa1 -S DISK -A
# */10 * * * * root test -x /usr/lib64/sa/sa2 -a \( -f /var/log/sa/sa$(date +\%d) \) && /usr/lib64/sa/sa2 -A
这些行设置了每小时收集一次数据,并保存到 /var/log/sa/
目录下。
等待数据收集: 确保系统运行足够长的时间,以便收集到多个时间点的数据。
使用 cpustat 查看历史数据:
cpustat
可以用来查看实时数据,但它也可以用来查看历史数据。例如,要查看昨天的 CPU 使用情况,可以使用:
cpustat -s -i ALL 1 86400
这里 -s
表示显示系统级的统计信息,-i ALL
表示显示所有接口的统计信息,1
表示每秒更新一次,86400
表示总共收集 86400 秒的数据(即一天)。
对比历史数据:
要对比两天的数据,你可以分别运行 cpustat
命令并保存输出到文件中,然后使用文本比较工具(如 diff
)来对比这两个文件。例如:
cpustat -s -i ALL 1 86400 > cpu_usage_day1.txt
# 等待到第二天
cpustat -s -i ALL 1 86400 > cpu_usage_day2.txt
diff cpu_usage_day1.txt cpu_usage_day2.txt
这将显示两天 CPU 使用情况的差异。
分析差异:
根据 diff
命令的输出,你可以分析出 CPU 使用率的上升或下降,以及可能的性能瓶颈。
请注意,cpustat
默认情况下不会保存历史数据,所以你需要手动设置 cron 作业来定期收集数据。此外,cpustat
的 -s
选项在某些版本的 sysstat
中可能不可用,这时你可以直接查看 /var/log/sa/
目录下的文件来进行历史数据对比。