在 CentOS 系统中,cpustat 是一个用于显示 CPU 使用情况的工具,通常它是 sysstat 包的一部分。如果你想要设置 CPU 使用率的阈值并基于这些阈值执行某些操作,你可以编写一个脚本来监控 CPU 使用率,并在达到阈值时触发相应的动作。
以下是一个简单的 Bash 脚本示例,用于监控 CPU 使用率并在超过预设阈值时发送警告邮件:
#!/bin/bash
# 设置 CPU 使用率阈值(百分比)
THRESHOLD=80
# 获取 CPU 使用率
CPU_USAGE=$(mpstat 1 1 | awk '/Average:/ {print $12}' | cut -d'.' -f1)
# 检查 CPU 使用率是否超过阈值
if [ "$CPU_USAGE" -gt "$THRESHOLD" ]; then
# 如果超过阈值,发送警告邮件
# 请确保你已经配置了邮件发送服务,并替换下面的变量为实际的邮件地址和SMTP服务器设置
EMAIL_SUBJECT="CPU Usage Alert"
EMAIL_BODY="CPU usage is above the threshold: ${CPU_USAGE}%"
EMAIL_TO="your_email@example.com"
EMAIL_FROM="alert@example.com"
SMTP_SERVER="smtp.example.com"
SMTP_PORT="587"
SMTP_USER="your_smtp_user"
SMTP_PASS="your_smtp_password"
# 发送邮件
echo -e "$EMAIL_BODY" | mail -s "$EMAIL_SUBJECT" -r "$EMAIL_FROM" -S smtp="$SMTP_SERVER:$SMTP_PORT" -S smtp-auth=login -S smtp-auth-user="$SMTP_USER" -S smtp-auth-password="$SMTP_PASS" "$EMAIL_TO"
fi
在运行此脚本之前,请确保你已经安装了 sysstat 包以及邮件发送工具(如 mailx 或 sendmail)。你可以使用以下命令安装 sysstat:
sudo yum install sysstat
然后,你需要根据你的邮件服务器配置来修改脚本中的邮件发送参数。
最后,你可以将此脚本设置为定时任务(cron job),以便定期检查 CPU 使用率。例如,要每5分钟运行一次脚本,你可以将以下行添加到 crontab 文件中:
*/5 * * * * /path/to/your/script.sh
使用 crontab -e 命令编辑 crontab 文件,并添加上述行。记得将 /path/to/your/script.sh 替换为你的脚本实际路径。