在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使用率的图表报告。