cpustat
命令是 sysstat
包的一部分,用于显示 CPU 使用情况的实时统计信息。默认情况下,cpustat
只提供当前时刻的 CPU 统计数据。如果你想要获取历史数据,可以考虑以下几种方法:
使用 mpstat
命令:
mpstat
也是 sysstat
包中的一个工具,它可以用来查看每个 CPU 的详细性能指标,并且可以通过 -P ALL
参数来监控所有 CPU。你可以结合 cron
定时任务来定期运行 mpstat
并将输出重定向到文件中,以此来收集历史数据。
例如,你可以编辑 crontab
文件来设置每分钟运行一次 mpstat
:
crontab -e
然后在打开的编辑器中添加以下行:
* * * * * mpstat -P ALL 1 > /path/to/your/logfile.csv
这将每分钟将 CPU 统计数据追加到指定的日志文件中。
使用 sar
命令:
sar
是另一个 sysstat
包中的工具,它可以收集、报告或保存系统活动信息。sar
可以配置为定期收集数据,并且可以保存到文件中供以后分析。
例如,你可以使用以下命令来每10分钟收集一次 CPU 数据,并保存到文件中:
sar -u 10 > /path/to/your/sarfile_%Y%m%d_%H%M%S
这将在 /path/to/your/
目录下创建一系列以日期和时间命名的文件,每个文件包含对应时间点的 CPU 统计数据。
使用第三方监控工具:
有许多第三方监控工具可以用来收集和分析系统性能数据,例如 Prometheus
、Grafana
、Nagios
等。这些工具通常提供更强大的数据收集和可视化功能。
编写自定义脚本:
如果你需要特定的数据或者想要以特定的方式来收集数据,你可以编写自己的脚本来使用 /proc/stat
和 /proc/sched_stat
等文件来获取 CPU 的历史数据,并将数据保存到文件中。
请注意,收集历史数据可能需要适当的权限,因此你可能需要使用 sudo
来运行这些命令。此外,确保你的系统上已经安装了 sysstat
包,否则你需要先使用包管理器(如 apt
)来安装它。