要通过 Debian 上的 cpustat 分析 CPU 历史数据,可以按照以下步骤进行:
安装 sysstat 包: cpustat 是 sysstat 包的一部分。如果尚未安装,可以使用以下命令安装:
sudo apt update sudo apt install sysstat 收集 CPU 数据: sysstat 的 mpstat 工具可以用来收集 CPU 使用情况数据。默认情况下,mpstat 会每隔一段时间(通常是 1 分钟)收集一次数据。要收集一天的数据,可以运行:
sudo mpstat -P ALL 1 1440 > cpu_usage.csv 这个命令会收集 24 小时(1440 分钟)的数据,每分钟收集一次,并将结果输出到 cpu_usage.csv 文件中。
分析数据: 收集到的 CSV 文件可以使用文本编辑器打开,或者使用工具如 Excel、Python 的 pandas 库等进行分析。
使用文本编辑器查看:直接打开 cpu_usage.csv 文件,可以看到每分钟的 CPU 使用情况,包括用户态(us)、系统态(sy)、空闲态(id)等。
使用 Python 进行分析:
import pandas as pd # 读取 CSV 文件 df = pd.read_csv('cpu_usage.csv', delimiter=',') # 计算平均使用率 df['user'] = df['%user'].astype(float) df['system'] = df['%system'].astype(float) df['idle'] = df['%idle'].astype(float) avg_user = df['user'].mean() avg_system = df['system'].mean() avg_idle = df['idle'].mean() print(f'Average User CPU Usage: {avg_user}%') print(f'Average System CPU Usage: {avg_system}%') print(f'Average Idle CPU Usage: {avg_idle}%') 这段代码会计算出平均用户态、系统态和空闲态的 CPU 使用率。
可视化数据(可选): 可以使用 matplotlib 等库将数据绘制成图表,以便更直观地查看 CPU 使用情况的变化趋势。
import matplotlib.pyplot as plt # 绘制用户态 CPU 使用率 plt.figure(figsize=(12, 6)) plt.plot(df['TIME'], df['%user'], label='%user') plt.plot(df['TIME'], df['%system'], label='%system') plt.plot(df['TIME'], df['%idle'], label='%idle') plt.xlabel('Time') plt.ylabel('CPU Usage (%)') plt.title('CPU Usage Over Time') plt.legend() plt.xticks(rotation=45) plt.tight_layout() plt.show() 这段代码会生成一个显示 CPU 使用率随时间变化的图表。
通过这些步骤,你可以有效地使用 cpustat 和相关工具来分析和可视化 CPU 的历史数据。