Shell脚本 CPU,内存,磁盘占用率检测

news2024/10/5 23:12:49

CPU:运算资源占用

内存:RAM类介质

磁盘:ROM类介质

一、CPU

#!/bin/bash

# 设置阈值,当CPU占用超过该阈值时进行输出提示
threshold=80

while true
do
    # 使用top命令获取CPU占用信息,并使用grep和awk筛选和解析输出结果
    cpu_usage=$(top -bn 1 | grep "guideman" | awk '{print $7}')

    # 将浮点数转换为整数,以便进行比较
    cpu_usage=${cpu_usage%.*}

    echo "Current CPU Usage: ${cpu_usage}%"

    # 检查CPU占用是否超过阈值
    if [ $cpu_usage -gt $threshold ]
    then
        echo "CPU Usage Exceeded Threshold!"
        # 在此处添加其他操作或通知机制
    fi

    # 定义间隔时间,以控制检查频率
    sleep 5
done

guideman:检测对象

$7:从左往右,打印第7个参数

        以上代码中,threshold变量定义了设定的阈值,如果CPU占用超过该阈值,将输出警告信息。top命令用于获取系统的CPU占用情况,grepawk用于筛选和解析输出结果。sleep命令定义了循环的间隔时间,这里设置为5秒。

执行结果:

二、内存

free 命令来获取当前系统的内存占用情况,并使用 awk 命令来提取需要的信息。

#!/bin/bash

# 设置阈值,当内存占用超过该阈值时发送警告
threshold=80

while true; do
    # 使用 free 命令获取内存占用情况,并使用 awk 提取第三行的数据
    mem_info=$(free | awk 'NR==3{print $3/$2 * 100}')

    # 比较内存占用情况和阈值
    if (( $(echo "$mem_info > $threshold" | bc -l) )); then
        echo "内存占用超过阈值($threshold%),当前占用为:$mem_info%"
        # 在此处添加发送警告的代码
    fi

    # 等待一段时间后再次监控
    sleep 5
done
#NR==2表示打印第二行参数

/mnt/test_app # free | awk 'NR==2{print $3/$2 * 100}'
31.2288
/mnt/test_app # 

三、磁盘

        使用df命令来获取磁盘占用情况

#!/bin/bash

# 设置阈值,当磁盘使用率超过该阈值时发送警报
THRESHOLD=90

# 获取磁盘使用率,并提取百分比部分
usage=$(df -h | awk '$NF=="/"{printf "%s\n", $5}' | cut -d'%' -f1)

# 检查磁盘使用率是否超过阈值
if [ $usage -gt $THRESHOLD ]; then
    echo "磁盘使用率超过阈值,请及时清理!"
fi

将上述代码保存到一个文件(例如check_disk_usage.sh),然后通过运行 bash check_disk_usage.sh 或者 ./check_disk_usage.sh 来执行脚本。

/mnt/test_app # df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root               248.0M    158.1M     84.7M  65% /
tmpfs                   225.8M      4.0K    225.8M   0% /tmp
tmpfs                   225.8M         0    225.8M   0% /dev
tmpfs                   225.8M      4.0K    225.8M   0% /dev/shm
/dev/mmcblk0p2          488.0K     14.0K    439.0K   3% /factory
/dev/mmcblk0p8          495.9M    384.2M    101.5M  79% /usrdata
df: /mnt/udisk: No such file or directory
df: /mnt/zc12a_data: No such file or directory
192.168.1.101:/home/guide/kuxinwei/project/
                        195.8G     82.1G    103.7G  44% /mnt

请注意,即使这个脚本可以监控磁盘使用情况,但它并不会持续监控。你可能需要使用定时任务工具(如cron)来定期运行这个脚本,以便实现长期监控。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1206694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8、数据结构-字符串、编码集

编码表 中文编码表 ​ 数字到中文单一字符的映射,汉字只能使用多字节的2字节,总有65535种状态。常见的中文编码有GB2312 、GBK 、GB18030 、BIG 5。 ​ 所有编码表都兼容单字节的ASCII表。 UNICODE ​ 多字节,一张编码表解决全球多数字符…

02-学成在线内容管理模块基础环境搭建

内容管理模块 需求分析 需求分析就是要搞清楚问题域即用户的需求,从而确定软件要为用户解决什么问题,实现哪些业务功能,满足什么样的性能要求 首先确认用户需求: 产品人员根据用户需求会绘制界面原型,通过界面原型再和用户确认…

【QT系列教程】之一安装配置

文章目录 一、qt简介二、qt下载2.1、官网地址:https://www.qt.io/2.2、下载2.3、https://download.qt.io/official_releases/online_installers/ 三、qt安装3.1、登录账号,没有账号自己注册3.2、我是个人安装,如果是公司填写公司名字3.3、欢迎…

语聚AI助力微信客服系统与企业知识库的API连接,提升电商平台用户运营效果

建立连接:语聚AI与微信客服系统的API集成 在现代电商运营中,智能客服系统已经成为一种必备的工具。而在这方面,微信客服系统因其广泛的用户基础和便捷的操作方式,成为了业界广泛采用的工具。但是,为了更好地满足用户需…

SA实战 ·《SpringCloud Alibaba实战》第13章-服务网关:项目整合SpringCloud Gateway网关

大家好,我是冰河~~ 一不小心[SpringCloud Alibaba实战》专栏都更新到第13章了,再不上车就跟不上了,小伙伴们快跟上啊! 在《SpringCloud Alibaba实战》专栏前面的文章中,我们实现了用户微服务、商品微服务和订单微服务之间的远程调用,并且实现了服务调用的负载均衡。也基于…

小黑子—springMVC:第二章 拦截器、全注解开发和异常处理机制

springMVC入门2.0 4、小黑子的springMVC拦截器4.1 Interceptor简介4.2 拦截器快速入门4.3 拦截器执行顺序4.4 拦截器执行原理 5、小黑子的springMVC全注解开发5.1 spring-mvc.xml中组件转化为注解形式5.1.1 消除spring-mvc.xml一二三 5.1.2 消除web.xml 6、小黑子的springMVC组…

【ARL灯塔搭建详细教程】

文章目录 前言一、前期准备二、安装docker及docker-compose三、安装ARL灯塔四、登录ARL灯塔 前言 ARL(Asset Reconnaissance Lighthouse)资产侦查灯塔旨在快速发现并整理企业外网资产并为资产构建基础数据库,无需登录凭证或特殊访问即可主动…

MTK Camera2 的OPEN API流程认知

MTK的设计架构 再了解Camera的open api调用之前我们,需要了解Camera的架构,这样才能提高阅读代码的效率。 代码跟读: 在这个图中大致介绍了OpenCamera的具体调用,下面我们逐步分析Camera的open调用流程。 逐步分析 一、 我们抛…

觉非科技发布【轻地图高速NOA智驾方案】|地平线,觉非科技,MobileDrive超捷生态协作实现技术落地

11月10日,2023世界新汽车技术合作生态展期间,觉非科技正式发布了基于地平线征程系列以及MobileDrive超捷规控系统的【轻地图高速NOA智驾解决方案】。该方案首次实现了从芯片能力输出、到数据闭环建设、再到规控部署的产业生态链协作与打通,为…

使用gitflow时如何合并hotfix

前言 在使用 git flow 流程时, 对于项目型的部署项目经常会遇到一个问题, 就是现场项目在使用历史版本时发现的一些问题需要修复, 但升级可能会有很大的风险或客户不愿意升级, 这时就要求基于历史版本进行 hotfix 修复. 基于历史发布版本的缺陷修复方式不同于最新发布版本的补…

绩效管理系统有哪些?

绩效管理系统有哪些? 把绩效管理系统按照两大指标分类—— 按地域划分(主要看兼容性和稳定性)按照功能性质划分(主要看实用性和拓展性) 按照以上两个维度,我们可以简单把绩效管理系统分为4大不同类型——…

Java系列之 超时任务处理方法

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 前言 调用一些方法,进行一些比…

MySQL数据库入门到大牛_基础_07__单行函数

文章目录 1. 函数的理解1.1 什么是函数1.2 不同DBMS函数的差异1.3 MySQL的内置函数及分类 2. 数值函数2.1 基本函数2.2 角度与弧度互换函数2.3 三角函数2.4 指数与对数2.5 进制间的转换 3. 字符串函数4. 日期和时间函数4.1 获取日期、时间4.2 日期与时间戳的转换4.3 获取月份、…

【Amazon】云上探索实验室—了解 AI 编程助手 Amazon Codewhisperer

文章目录 一、前言📢二、关于云上探索实验室🕹️三、领学员需要做什么?✴️四、领学员能获得什么?🔣五、学课通道入口👇1️⃣CSDN平台2️⃣网易云课堂3️⃣Skill Builder 平台 六、活动详情链接 一、前言&a…

万亿数字新消费赛道,央企纷纷借力破冰

配图来自Canva可画 当前,消费已经成为经济增长的第一拉动力。2023年上半年,最终消费支出对经济增长的贡献率达到77.2%,消费继续保持经济增长的第一拉动力。 消费对经济增长的作用日益突出,恢复消费、提振消费、扩大消费&#xf…

map与set使用方法总结

一,map与set简介 map与set本质上便是一个关联容器,它们的底层都是一个叫做红黑树的数据结构。当然,所谓的红黑树又是一个二叉搜索树。所以追根溯源,map和set都是用二叉搜索树(红黑树)实现的容器。 在C中&am…

内衣洗衣机和手洗哪个干净?好用的内衣洗衣机推荐

在日常生活中,我们的衣服不可避免地会沾染上各种细菌、毛发和污渍,将它们与贴身衣物混合清洗,很容易发生交叉感染,而被感染后,贴身衣物也有可能导致我们人体引起皮肤病。这也是为什么大部分人都喜欢用手洗的原因&#…

Python机器学习基础(三)---数据预处理

一.数据预处理作用 数据预处理会将选定的数据转换为我们可以使用的形式或可以提供给ML算法的形式,以使其符合机器学习算法的期望。 二.数据处理的常用方法 1.规范化 数据规范化是使属性数据按比例缩放,这样就将原来的数值映射到一个新的特定区域中&#…

揭秘拍卖竞价源码:10个必知的关键细节

拍卖竞价源码作为数字化时代中的一大亮点,不仅在技术领域引起了高度关注,并且在商业应用中展现出巨大潜力。在本文中,我们将揭秘拍卖竞价源码中的10个关键细节,助你一窥这一领域的深入内涵。 1. 拍卖竞价源码的由来 拍卖竞价源码…

侧击雷如何检测预防

侧击雷是一种雷击的形式,指的是雷电从建筑物的侧面打来的直接雷击。侧击雷对高层建筑物的防雷保护提出了更高的要求,因为一般的避雷带或避雷针不能完全保护住建筑物的侧面。侧击雷可能会对建筑物的结构、设备和人员造成严重的损害,甚至引发火…