cpustat 是一个用于监控系统 CPU 使用情况的工具,它是 sysstat 软件包的一部分。要在脚本中自动化使用 cpustat,你可以将其输出重定向到一个文件或解析其输出以获取所需的信息。
以下是一个简单的示例,说明如何在脚本中使用 cpustat:
sysstat 软件包。在 Debian 上,可以使用以下命令安装:sudo apt-get update
sudo apt-get install sysstat
monitor_cpu.sh 的脚本文件:#!/bin/bash
# 设置 cpustat 输出的间隔(以秒为单位)和持续时间(以秒为单位)
interval=5
duration=60
# 设置输出文件名
output_file="cpu_usage.csv"
# 写入 CSV 文件头
echo "timestamp,cpu_user,cpu_system,cpu_idle" > $output_file
# 使用 cpustat 监控 CPU 使用情况并将其输出追加到文件中
cpustat -u -i ALL $interval $duration | awk 'NR>1 {print strftime("%Y-%m-%d %H:%M:%S"), $1, $2, $4}' >> $output_file
# 输出完成信息
echo "CPU usage monitoring completed. Output saved to $output_file"
chmod +x monitor_cpu.sh
./monitor_cpu.sh
这将在当前目录下创建一个名为 cpu_usage.csv 的文件,其中包含 CPU 使用情况的监控数据。你可以根据需要修改间隔、持续时间和输出文件名。
如果你想解析 cpustat 的输出以获取特定的信息,可以使用 awk、grep、sed 等工具。例如,要仅提取用户空间 CPU 使用率,可以修改 awk 命令如下:
cpustat -u -i ALL $interval $duration | awk 'NR>1 {print strftime("%Y-%m-%d %H:%M:%S"), $1}'