要通過 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 的歷史數據。