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

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)来定期运行这个脚本,以便实现长期监控。
 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

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

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

使用gitflow时如何合并hotfix

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

适配器模式 ( Adapter Pattern )(6)

适配器模式 ( Adapter Pattern ) 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁 适配器模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能 举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器…

应用亚马逊云科技,Share Creators1个月内上线生成式AI生图模块

随着生成式AI在全球范围爆火,如何充分利用生成式AI自动生成内容提高创作效率已成为设计领域创新的关键突破口。对于设计行业和游戏行业的众多企业和团队而言,管理数字资产的能力是其实现高效创作最大的挑战之一,也是在降本增效的流程中非常容…

自己搭设开源密码管理工具 bitwarden

简介 Bitwarden是一款自由且开源的密码管理服务,用户可在加密的保管库中存储敏感信息(例如网站登录凭据)。Bitwarden平台提供有多种客户端应用程序,包括网页用户界面、桌面应用,浏览器扩展、移动应用以及命令行界面。[…

【Linux网络】1分钟使用shell脚本完成DNS主从解析服务器部署(适用于centos主机)

DNS正向解析主从解析服务器脚本 1、脚本内容 主服务器脚本 #!/bin/bash ##先修改本地DNS缓存服务器 read -p "请输入主服务器ip地址:" masterIP sed -i /DNS/d /etc/sysconfig/network-scripts/ifcfg-ens33 echo "DNS$masterIP" >> /e…

干洗店管理系统洗鞋店小程序开发搭建;

干洗店管理软件,实现从门店收衣到工厂洗涤,全程数字化监控,操作简单易用。客户在线下单,商家通过物流App完成上门取件,提升用户体验的同时,提高运营效率。 洗衣软件打造专属于每个商户的小程序,…

MySQL-事务

什么是事务 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 事务的特性 (ACID) 原子性(Atomicity):事务是不…

稳定扩散与潜伏扩散:哪个更好?

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 3D数字孪生场景编辑器 本文对这两种类型的扩散、它们的工作原理、差异和未来影响进行了详细讨论。 了解稳定扩散 通过稳定扩散生成的图像 Stable Diffu…

RabbitMQ 核心部分之简单模式和工作模式

文章目录 一、Hello World(简单)模式1.导入依赖2.消息生产者3.消息消费者 二、Work Queues(工作)模式1.抽取工具类2.启动两个工作线程3.启动一个发送线程4.结果 总结 一、Hello World(简单)模式 在下图中&…

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

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

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

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

MBTI职业性格测试,用于职业选择是否靠谱

关于性格测试的看法 所有人都会说我了解自己的性格!但真的了解吗?性格有外在表现,也有内因的驱动,我们通常感受到的是性格的外在表现.... 性格测试,是针对有想法要改变自己和提高自己的人,如果你一个懒字…

cubemx为啥在SPI配置时将MISO设置为AFPP,而不是输入模式

一般来说在配置SPI的时候,SCK、MOSI、NSS:通常配置为推挽输出模式,在单主机模式下,可以将NSS引脚配置为GPIO输出,MISO通常需要配置为浮空输入或上拉输入模式,但是cubemx却其配置成推挽输出模式,…

多模态及图像安全的探索与思考

前言 第六届中国模式识别与计算机视觉大会(The 6th Chinese Conference on Pattern Recognition and Computer Vision, PRCV 2023)已于近期在厦门成功举办。通过参加本次会议,使我有机会接触到许多来自国内外的模式识别和计算机视觉领域的研究…

janus 安装部署

本文使用docker进行安装,还没有安装docker和docker-compose的,请自行安装,这里就不介绍了 环境 janus-gateway镜像版本:anyan/janus-gateway:0.10.7 linux版本: Ubuntu 18.04.6 LTS coturn/coturn 镜像版本: coturn/coturn:latest 镜像ID 8…

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

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

员工电脑监控的方法有哪些

有人在后台问,员工电脑监控的方法有哪些? 其实主要包括以下几方面:1)安装监控软件 2)使用操作系统自带的工具 3)部署网络监控设备 4)定期检查电脑 5)制定严格的规章制度 因为内容比…

23款奔驰C260L升级原厂360全景影像 超广角的视野

本次星骏汇小许介绍的是23款奔驰C260L升级原厂360全景影像,上帝视角看清车辆周围环境,更轻松驾驶 升级360全景影像系统共有前后左右4个摄像头,分别在车头,车尾,以及两边反光镜下各一个,分别用来采集车头&am…

在ant构建脚本中调用maven的命令

有时候想用maven管理依赖,用ant构建。 在ant的build.xml文件中可以使用exec这个task来调用系统命令,也就可以调用maven的命令。 例如,执行maven的命令mvn dependency:copy-dependencies,可以将项目的依赖提取出来,放…