检测CPU利用率的Shell脚本

本文介绍了一个Shell脚本,用于实时检测CPU利用率,并在利用率超过90%时进行报警。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

检测CPU利用率的SHELL脚本,当高于90%时报警。

#!/bin/bash
cpu_idle=`top -b -n 1 | grep cpu | awk '{print $5}' | cut -f 1 -d "."`
if (($cpu_idle < 20)); then 
  echo $CPU_idle
fi


### Shell脚本获取并输出CPU使用率 为了实现这一目标,可以采用多种方法来计算和显示CPU利用率。下面提供了一种基于`vmstat`命令的方式: ```bash #!/bin/bash source /etc/profile # 获取用户态下的 CPU 使用时间百分比 cpu_us=$(vmstat | awk '{print $13}' | sed -n '$p') # 获取系统态下的 CPU 使用时间百分比 cpu_sy=$(vmstat | awk '{print $14}' | sed -n '$p') # 计算总的非空闲 CPU 时间比例 cpu_sum=$((cpu_us + cpu_sy)) echo "当前CPU使用率为 ${cpu_sum}%" ``` 上述代码片段展示了如何利用`vmstat`工具读取最近一次采样的CPU状态数据,并提取其中代表用户空间(`$13`)以及内核空间(`$14`)占用的时间片数[^2]。 另一种更直观的方法是借助于`top`或`mpstat`这类专门设计用来展示实时性能统计信息的程序。这里给出一个简单的例子,它会持续更新直到手动终止进程: ```bash watch -n 1 'top -bn1 | grep "Cpu(s)"' ``` 此命令每秒刷新一次终端窗口中的内容,显示出类似于如下形式的结果: ``` %Cpu(s): 7.8 us, 2.9 sy, 0.0 ni, 89.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st ``` 这些数值分别对应着不同的工作模式下所花费的比例——例如,“us”表示应用程序执行期间消耗了多少处理器周期;而“sy”则反映了操作系统本身运行时的情况[^3]。 对于更加精确的数据采集需求,则建议考虑安装额外的软件包如`sar`, `atop`等,它们能够记录长时间跨度内的历史趋势变化图谱供后续分析之用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值