在 CentOS 系统中,cpustat
是一个用于显示 CPU 使用情况的工具,通常它是 sysstat
包的一部分。默认情况下,cpustat
不会保存历史记录。但是,你可以通过以下几种方法来记录和查看 CPU 使用情况的历史数据:
-
使用
sar
命令:sar
是另一个sysstat
包中的工具,可以用来收集、报告或保存系统活动信息。- 你可以设置
sar
定期收集数据并保存到文件中。例如,编辑/etc/cron.d/sysstat
文件,确保以下行没有被注释掉(默认情况下通常是启用的):0 * * * * root /usr/lib64/sa/sa1 -S DISK 1 1
- 这个例子表示每小时收集一次数据。
sa1
会将数据保存到/var/log/sa/
目录下的日文件中。 - 要查看历史记录,可以使用
sar
命令,例如:sar -u -f /var/log/sa/saXX
其中saXX
是你要查看的日期文件。
-
使用
mpstat
命令:mpstat
也是sysstat
包的一部分,它可以显示每个 CPU 的详细统计信息。- 虽然
mpstat
本身不保存历史记录,但你可以将其输出重定向到文件中以供后续查看:mpstat -P ALL 1 > cpu_usage.log &
- 这个命令会每秒收集一次所有 CPU 的使用情况,并将输出追加到
cpu_usage.log
文件中。
-
编写脚本定期记录:
- 你可以编写一个简单的 shell 脚本,使用
cpustat
或其他工具来收集数据,并将其保存到文件中。 - 例如,一个基本的脚本可能看起来像这样:
#!/bin/bash LOG_FILE="/var/log/cpu_usage.log" DATE=$(date +"%Y-%m-%d %H:%M:%S") echo "Timestamp: $DATE" >> $LOG_FILE cpustat -u 1 1 >> $LOG_FILE echo "" >> $LOG_FILE
- 然后,你可以使用 cron 作业定期运行这个脚本。
- 你可以编写一个简单的 shell 脚本,使用
-
使用第三方监控工具:
- 有许多第三方监控工具可以用来收集和记录系统性能数据,例如 Prometheus、Grafana、Nagios 等。
- 这些工具通常提供更复杂的监控和报警功能,并且可以配置为长期存储历史数据。
选择哪种方法取决于你的具体需求和偏好。如果你只是偶尔需要查看历史数据,使用 sar
或编写一个简单的脚本来记录数据可能就足够了。如果你需要更复杂的监控和报警功能,那么可能需要考虑使用第三方工具。