要在Ubuntu上使用cpustat
实现自动化监控,您可以编写一个简单的shell脚本来定期运行cpustat
并将输出记录到文件中。以下是一个示例脚本:
sysstat
包,它包含了cpustat
工具。如果没有,请运行以下命令来安装:sudo apt-get update
sudo apt-get install sysstat
monitor_cpu.sh
的shell脚本文件:nano monitor_cpu.sh
INTERVAL
(以秒为单位)和OUTPUT_FILE
(输出文件的路径):#!/bin/bash
# 设置监控间隔(以秒为单位)
INTERVAL=5
# 设置输出文件路径
OUTPUT_FILE="cpu_usage.log"
# 获取当前日期和时间
timestamp=$(date "+%Y-%m-%d %H:%M:%S")
# 输出标题行
echo "Timestamp,User,System,Idle,IOWait,IRQ,SoftIRQ,Steal" > $OUTPUT_FILE
# 无限循环,每隔INTERVAL秒运行一次cpustat
while true; do
# 运行cpustat并获取输出
cpu_output=$(cpustat -c -p ALL $INTERVAL)
# 将当前时间戳添加到输出中
echo "$timestamp,$cpu_output" >> $OUTPUT_FILE
# 等待INTERVAL秒
sleep $INTERVAL
done
保存并关闭文件。
为脚本添加可执行权限:
chmod +x monitor_cpu.sh
./monitor_cpu.sh
现在,cpustat
将每隔指定的时间间隔(例如5秒)运行一次,并将输出记录到指定的日志文件(例如cpu_usage.log
)中。要停止脚本,请按Ctrl+C
。
如果您希望脚本在后台运行,可以使用nohup
命令:
nohup ./monitor_cpu.sh &
这将使脚本在后台运行,即使您关闭终端窗口也不会停止。输出将被重定向到nohup.out
文件。