在服务器管理中,实时监控CPU占用率是非常重要的,它可以帮助管理员及时发现和处理潜在的性能瓶颈。在CentOS系统中,我们可以通过编写简单的shell脚本来实现CPU占用的实时监控。下面,我将详细讲解如何创建这样一个脚本。
1. 脚本需求分析
首先,我们需要明确脚本的功能需求:
- 实时显示CPU的占用率。
- 能够在终端窗口中持续运行,方便观察。
- 可以自定义刷新间隔,以便根据需要进行调整。
2. 编写监控脚本
接下来,我们将编写一个简单的shell脚本来实现上述功能。
#!/bin/bash
# 定义刷新间隔(秒)
INTERVAL=1
# 无限循环,持续监控
while true; do
# 使用top命令获取CPU占用率,并格式化输出
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
# 输出CPU占用率
echo "当前CPU占用率为:$CPU_USAGE%"
# 等待指定的时间间隔
sleep $INTERVAL
done
3. 脚本使用方法
- 将上述脚本保存为
cpu_monitor.sh。 - 给脚本执行权限:
chmod +x cpu_monitor.sh。 - 运行脚本:
./cpu_monitor.sh。
4. 脚本说明
- 脚本首先定义了一个变量
INTERVAL来设置刷新间隔,默认为1秒。 - 使用
while true循环实现持续监控。 top -bn1命令用于获取当前系统信息,grep "Cpu(s)"用于筛选包含CPU占用信息的行。sed和awk用于处理文本,提取CPU的空闲率,然后计算占用率。echo命令用于输出CPU占用率。
5. 脚本优化
- 可以根据需要调整
INTERVAL的值,以适应不同的监控需求。 - 可以将监控结果输出到日志文件中,方便后续分析。
通过以上步骤,你就可以在CentOS系统中轻松实现CPU占用的实时监控了。希望这篇文章能帮助你更好地管理服务器。
