在CentOS系統中,cpustat
是一個用于顯示CPU統計信息的工具,它是 sysstat
包的一部分。要使用 cpustat
生成圖表報告,你需要結合其他工具,如 gnuplot
或 matplotlib
(Python庫),來繪制圖表。以下是一個基本的步驟指南:
gnuplot
繪制圖表安裝 sysstat
和 gnuplot
:
sudo yum install sysstat gnuplot
收集CPU統計信息:
使用 cpustat
收集一段時間內的CPU統計信息,并將其保存到一個文件中。
sudo cpustat -u -m -p ALL 60 > cpu_stats.csv
這個命令會每60秒收集一次所有CPU的統計信息,并將結果保存到 cpu_stats.csv
文件中。
準備 gnuplot
腳本:
創建一個 gnuplot
腳本來讀取CSV文件并生成圖表。
gnuplot << EOF
set terminal pngcairo enhanced font 'Verdana,10'
set output 'cpu_usage.png'
set xdata time
set timefmt "%Y-%m-%d %H:%M:%S"
set format x "%H:%M"
set xlabel "Time"
set ylabel "CPU Usage (%)"
set title "CPU Usage Over Time"
plot 'cpu_stats.csv' using 1:2 with lines title 'User'
EOF
這個腳本會生成一個PNG格式的圖表文件 cpu_usage.png
,顯示CPU的用戶態使用率隨時間的變化。
matplotlib
繪制圖表(Python)如果你更喜歡使用Python,可以使用 matplotlib
庫來繪制圖表。
安裝 sysstat
和 matplotlib
:
sudo yum install sysstat python3-matplotlib
收集CPU統計信息:
同樣使用 cpustat
收集CPU統計信息并保存到CSV文件中。
sudo cpustat -u -m -p ALL 60 > cpu_stats.csv
編寫Python腳本來繪制圖表:
創建一個Python腳本來讀取CSV文件并使用 matplotlib
繪制圖表。
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
# 讀取CSV文件
df = pd.read_csv('cpu_stats.csv', parse_dates=['time'], index_col='time')
# 繪制圖表
plt.figure(figsize=(10, 6))
plt.plot(df.index, df['user'], label='User')
plt.xlabel('Time')
plt.ylabel('CPU Usage (%)')
plt.title('CPU Usage Over Time')
plt.legend()
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%H:%M'))
plt.gca().xaxis.set_major_locator(mdates.MinuteLocator(interval=10))
plt.gcf().autofmt_xdate()
plt.tight_layout()
plt.savefig('cpu_usage.png')
運行這個Python腳本:
python3 plot_cpu_usage.py
這個腳本會生成一個PNG格式的圖表文件 cpu_usage.png
,顯示CPU的用戶態使用率隨時間的變化。
通過以上步驟,你可以在CentOS系統中使用 cpustat
和其他工具生成CPU使用率的圖表報告。