#!/bin/bash ############################################################################################# # 用途: 检测 CPU 负载 # 作者: 丁辉 # 更新时间: 2024-05-10 ############################################################################################# # 获取第一次 CPU 时间统计 read -a stats1 < /proc/stat # 第一次统计的总 CPU 时间 total1=0 for i in {1..4}; do total1=$((total1 + ${stats1[i]})) done # 第一次统计的空闲 CPU 时间 idle1=${stats1[4]} # 等待一个时间间隔 sleep 1 # 获取第二次 CPU 时间统计 read -a stats2 < /proc/stat # 第二次统计的总 CPU 时间 total2=0 for i in {1..4}; do total2=$((total2 + ${stats2[i]})) done # 第二次统计的空闲 CPU 时间 idle2=${stats2[4]} # 计算总的 CPU 时间差和空闲 CPU 时间差 total=$((total2 - total1)) idle=$((idle2 - idle1)) # 避免除零错误 if [ $total -ne 0 ]; then cpu_usage=$((100 * (total - idle) / total)) else cpu_usage=0 fi # 输出 CPU 使用率 echo "当前 CPU 使用率为: $cpu_usage%"