cpustat 是一个用于监控 CPU 使用情况的工具,它是 sysstat 包的一部分。默认情况下,cpustat 只提供实时的 CPU 统计信息。但是,你可以通过将输出重定向到文件并使用脚本或工具来分析历史数据。
以下是一个简单的步骤,说明如何使用 cpustat 进行历史数据分析:
安装 sysstat 包(如果尚未安装):
sudo yum install sysstat
设置 cpustat 记录间隔和持续时间:
你可以使用 -i 选项设置记录间隔(以秒为单位),使用 -s 选项设置持续时间(以秒为单位)。例如,每 5 秒记录一次 CPU 统计信息,持续 3600 秒(1 小时):
sudo cpustat -i 5 -s 3600 > cpu_usage.csv
分析历史数据: 你可以使用文本编辑器、电子表格软件或脚本语言(如 Python)来分析生成的 CSV 文件。以下是一个简单的 Python 脚本示例,用于计算平均 CPU 使用率:
import csv
def calculate_average_cpu_usage(csv_file):
total_user = 0
total_system = 0
total_idle = 0
num_records = 0
with open(csv_file, 'r') as file:
reader = csv.DictReader(file)
for row in reader:
total_user += float(row['usr'])
total_system += float(row['sys'])
total_idle += float(row['idle'])
num_records += 1
avg_user = (total_user / num_records) * 100
avg_system = (total_system / num_records) * 100
avg_idle = (total_idle / num_records) * 100
print(f"Average CPU Usage: User={avg_user:.2f}%, System={avg_system:.2f}%, Idle={avg_idle:.2f}%")
if __name__ == "__main__":
csv_file = "cpu_usage.csv"
calculate_average_cpu_usage(csv_file)
将此脚本保存为 analyze_cpu_usage.py,然后在终端中运行它:
python analyze_cpu_usage.py
这将输出平均 CPU 使用率(用户、系统和空闲)。
请注意,这只是一个简单的示例。你可以根据需要修改脚本以计算其他指标,例如每分钟的 CPU 使用率、峰值使用率等。