温馨提示×

centos cpustat如何生成图表报告

小樊
39
2025-09-30 22:41:49
栏目: 智能运维

在CentOS系统中,cpustat 是一个用于显示CPU统计信息的工具,它是 sysstat 包的一部分。要使用 cpustat 生成图表报告,你需要结合其他工具,如 gnuplotmatplotlib(Python库),来绘制图表。以下是一个基本的步骤指南:

使用 gnuplot 绘制图表

  1. 安装 sysstatgnuplot

    sudo yum install sysstat gnuplot 
  2. 收集CPU统计信息: 使用 cpustat 收集一段时间内的CPU统计信息,并将其保存到一个文件中。

    sudo cpustat -u -m -p ALL 60 > cpu_stats.csv 

    这个命令会每60秒收集一次所有CPU的统计信息,并将结果保存到 cpu_stats.csv 文件中。

  3. 准备 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 库来绘制图表。

  1. 安装 sysstatmatplotlib

    sudo yum install sysstat python3-matplotlib 
  2. 收集CPU统计信息: 同样使用 cpustat 收集CPU统计信息并保存到CSV文件中。

    sudo cpustat -u -m -p ALL 60 > cpu_stats.csv 
  3. 编写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使用率的图表报告。

0