linux如何查看系统平均负载是否高于CPU数量的70%?

1、先查看cpu数量

cat /proc/cpuinfo |grep "physical id"|uniq|wc -l

或者

nproc

2、使用uptime查看系统平均负载。这里显示的是 1 分钟、5 分钟和 15 分钟的平均负载。

 15:36:33 up 1 day,  4:09,  1 user,  load average: 0.35, 0.44, 0.51

3、计算出 70% CPU 数量的阈值。假设您有 4 个 CPU,则 70% 的阈值是 2.8。

threshold=$(echo "$cpu_count * 0.7" | bc)

4、获取平均负载

load=$(cat /proc/loadavg | awk '{print $1}')

5、比较平均负载和阈值

if (( $(echo "$load > $threshold" |bc -l) )); then
    echo "平均负载高于 CPU 数量的 70%!"
else
    echo "平均负载正常。"
fi

完整代码

#!/bin/bash

# 获取 CPU 数量
cpu_count=$(nproc)

# 计算 70% CPU 数量的阈值
threshold=$(echo "$cpu_count * 0.7" | bc)

# 获取平均负载
load=$(cat /proc/loadavg | awk '{print $1}')

# 比较平均负载和阈值
if (( $(echo "$load > $threshold" |bc -l) )); then
    echo "平均负载高于 CPU 数量的 70%!"
else
    echo "平均负载正常。"
fi
posted @ 2024-04-02 15:55  郭小睿  阅读(83)  评论(0编辑  收藏  举报