ubuntu

ubuntu cpustat怎样实现自动化监控

小樊
49
2025-07-13 07:13:02
栏目: 智能运维

要在Ubuntu上使用cpustat实现自动化监控,您可以编写一个简单的shell脚本来定期运行cpustat并将输出记录到文件中。以下是一个示例脚本:

  1. 首先,确保您已经安装了sysstat包,它包含了cpustat工具。如果没有,请运行以下命令来安装:
sudo apt-get update
sudo apt-get install sysstat
  1. 创建一个名为monitor_cpu.sh的shell脚本文件:
nano monitor_cpu.sh
  1. 将以下内容粘贴到脚本文件中,并根据需要修改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
  1. 保存并关闭文件。

  2. 为脚本添加可执行权限:

chmod +x monitor_cpu.sh
  1. 运行脚本:
./monitor_cpu.sh

现在,cpustat将每隔指定的时间间隔(例如5秒)运行一次,并将输出记录到指定的日志文件(例如cpu_usage.log)中。要停止脚本,请按Ctrl+C

如果您希望脚本在后台运行,可以使用nohup命令:

nohup ./monitor_cpu.sh &

这将使脚本在后台运行,即使您关闭终端窗口也不会停止。输出将被重定向到nohup.out文件。

0
看了该问题的人还看了