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 @   郭小睿  阅读(108)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2023-04-02 CentOS7利用firewall流量转发,实现TCP/UDP中转加速
2023-04-02 最全的Pytest+Allure使用教程
2023-04-02 Python配置文件管理之ini和yaml文件读取
点击右上角即可分享
微信分享提示

目录导航