如何使用cpustat查看CPU历史使用记录
想要追溯服务器或工作站过去一段时间CPU的详细性能表现吗?cpustat工具正是解决这一需求的得力助手。作为经典的sysstat系统性能监控工具包的核心组件之一,它功能强大且可靠。然而,直接运行cpustat命令通常只能获取实时数据,要查询和分析历史CPU使用记录,需要按照以下完整的步骤进行配置与操作。

1. 安装 sysstat 工具包(如未安装)
首先,请确认您的Linux系统中已安装sysstat软件包。根据不同的Linux发行版,安装命令有所区别:
基于 Debian/Ubuntu 的系统:打开终端,依次执行以下两条命令以更新软件源并完成安装。
sudo apt-get update sudo apt-get install sysstat基于 Red Hat/CentOS/Fedora 的系统:对于使用yum包管理器的CentOS或RHEL系统,请运行:
sudo yum install sysstat若您使用的是较新版本的Fedora,其默认包管理器为dnf,相应命令应调整为:
sudo dnf install sysstat
2. 配置并启用CPU数据收集
一个关键概念需要明确:cpustat命令本身主要用于实时监控。要获取历史CPU使用数据,必须首先启用并配置sysstat工具包内置的数据收集服务(通常由sadc守护进程实现),让系统能够定期自动记录性能指标。
具体操作是编辑sysstat的主配置文件/etc/default/sysstat(在某些系统中可能是/etc/sysconfig/sysstat)。找到ENABLED配置项,将其值修改为"true"以激活数据收集功能。同时,您可能需要关注或设置CPUPROFILE(监控的CPU范围)和CPUPROFILE_INTERVAL(数据采样间隔)等参数。
ENABLED="true"
CPUPROFILE="all"
CPUPROFILE_INTERVAL=10
以上示例配置表示:系统将每10秒对所有CPU核心进行一次使用率数据采样并保存。
3. 重启服务使配置生效
修改配置文件后,需要重新启动sysstat服务(或其数据收集器服务,如sysstat-collect或sysstat),以使新的配置立即生效。在大多数使用systemd的系统上,执行以下命令:
sudo systemctl restart sysstat
您也可以使用sudo systemctl enable sysstat确保该服务在系统启动时自动运行。
4. 查询与分析历史CPU数据
服务正常运行后,历史数据便开始持续收集并存储(通常位于/var/log/sysstat/或类似目录下,如saXX文件)。虽然cpustat命令不直接读取这些历史文件,但sysstat工具包中的另一个强大命令——mpstat,是查看和分析历史及实时CPU统计信息的标准工具。
例如,若想查看过去24小时内,以1秒为间隔的所有CPU核心使用率快照,可以运行如下命令(这会生成大量输出):
mpstat -P ALL 1 1440
命令参数解析:-P ALL指定监控所有逻辑CPU核心;第一个数字1代表采样间隔为1秒;第二个数字1440代表采样次数(24小时 * 60分钟 = 1440次)。
5. 保存与深入处理数据
为了方便后续分析,建议将mpstat命令的输出重定向到文本文件中:
mpstat -P ALL 1 1440 > cpu_usage_history.txt
这样,所有详细的CPU使用率历史数据便保存至cpu_usage_history.txt文件中。之后,您可以使用文本编辑器(如vim, nano)查看,或利用grep、awk、sed等命令行工具进行过滤和提取。对于更复杂的趋势分析和可视化,还可以将数据导入到电子表格(如Excel、LibreOffice Calc)或专业的数据分析软件中生成图表。
最后请注意:不同Linux发行版或sysstat软件版本之间,配置文件的路径、服务名称以及部分命令参数可能存在细微差别。如果在实际操作中遇到问题,最权威的参考是查阅您当前系统所安装sysstat版本的官方手册页(man sysstat, man mpstat)或相关文档。
