bash 判断内存利用率是否高于60%
在 Bash 脚本中,可以通过 free 命令获取内存利用率,然后结合 awk 和条件判断语句实现监控内存利用率是否高于 60%。以下是一个示例脚本:
1. 示例脚本
#!/bin/bash# 获取总内存和已使用内存
total_mem=$(free | awk '/Mem:/ {print $2}')
used_mem=$(free | awk '/Mem:/ {print $3}')# 计算内存使用率
mem_usage=$(awk "BEGIN {print ($used_mem / $total_mem) * 100}")# 判断内存使用率是否超过 60%
if (( $(echo "$mem_usage > 60" | bc -l) )); thenecho "内存利用率高于 60%: 当前使用率为 ${mem_usage}%"
elseecho "内存利用率低于或等于 60%: 当前使用率为 ${mem_usage}%"
fi
2. 简洁版本
#!/bin/bash# 获取内存使用率
mem_usage=$(free | awk '/Mem:/ {print $3/$2 * 100}')# 判断是否高于 60%
if (( $(echo "$mem_usage > 60" | bc -l) )); thenecho "内存利用率高: ${mem_usage}%"
elseecho "内存利用率正常: ${mem_usage}%"
fi
2.1. 说明
free | awk '/Mem:/ {print $3/$2 * 100}':直接计算使用率百分比。bc:处理浮点数比较。
3. 如果内存利用率高于60%那就等待,否则10s,在判断,否则跳出while循环
以下是实现该逻辑的 Bash 脚本:
#!/bin/bashwhile true; do# 获取内存使用率mem_usage=$(free | awk '/Mem:/ {print $3/$2 * 100}')# 判断内存使用率if (( $(echo "$mem_usage > 60" | bc -l) )); thenecho "内存利用率高: ${mem_usage}%,继续等待..."sleep 10elseecho "内存利用率正常: ${mem_usage}%,退出循环。"breakfi
done
3.1. 说明
- 内存检查:每次计算内存使用率。
- 高于 60%:等待 10 秒,然后重新检查。
- 低于等于 60%:退出循环。
sleep 10:延迟 10 秒,避免高频运行占用资源。
4. 不需要中间输出
#!/bin/bashwhile (( $(echo "$(free | awk '/Mem:/ {print $3/$2 * 100}') > 60" | bc -l) )); dosleep 10
done
4.1. 说明
- 内存判断:直接在
while循环中完成,利用awk计算内存使用率。 - 退出条件:内存使用率低于或等于 60% 时自动退出循环。
- 无输出:脚本不打印任何信息,完全静默运行。
4.2. 关键点
awk计算内存使用率返回浮点数。- 使用
bc -l进行浮点数比较,避免直接用(( ))导致语法错误。
相关文章:
bash 判断内存利用率是否高于60%
在 Bash 脚本中,可以通过 free 命令获取内存利用率,然后结合 awk 和条件判断语句实现监控内存利用率是否高于 60%。以下是一个示例脚本: 1. 示例脚本 #!/bin/bash# 获取总内存和已使用内存 total_mem$(free | awk /Mem:/ {print $2}) used_…...
推送(push)项目到gitlab
文章目录 1、git init1.1、在当前目录中显示隐藏文件:1.2、查看已有的远程仓库1.3、确保你的本地机器已经生成了 SSH 密钥:1.4、将生成的公钥文件(通常位于 ~/.ssh/id_rsa.pub)复制到 GitLab 的 SSH 设置中:1.5、测试 …...
centos9升级OpenSSH
需求 Centos9系统升级OpenSSH和OpenSSL OpenSSH升级为openssh-9.8p1 OpenSSL默认为OpenSSL-3.2.2(根据需求进行升级) 将源码包编译为rpm包 查看OpenSSH和OpenSSL版本 ssh -V下载源码包并上传到服务器 openssh最新版本下载地址 wget https://cdn.openb…...
硬件成本5元-USB串口采集电表数据完整方案-ThingsPanel快速入门
ThingsPanel开源物联网平台支持广泛的协议,灵活自由,本文介绍ThingsPanel通过串口来采集电表数据,简单易行,成本低廉,适合入门者学习试验,也适合一些特定的应用场景做数据采集。 适用场景: 降低…...
在AWS EMR上用Hive、Spark、Airflow构建一个高效的ETL程序
在AWS EMR(Elastic MapReduce)上构建一个高效的ETL程序,使用Hive作为数据仓库,Spark作为计算引擎,Airflow作为调度工具时,有几个关键的设计与实施方面需要注意。 在AWS EMR上构建高效的ETL程序,…...
前端(四)css选择器、css的三大特性
css选择器、css的三大特性 文章目录 css选择器、css的三大特性一、css介绍二、css选择器2.1 基本选择器2.2 组合选择器2.3 交集并集选择器2.4序列选择器2.5属性选择器2.6伪类选择器2.7伪元素选择器 三、css三大特性3.1 继承性3.2 层叠性3.3 优先级 一、css介绍 CSS全称为Casca…...
vscode 打开 setting.json
按下Ctrl Shift P(Windows/Linux)或Cmd Shift P(Mac)来打开命令面板。输入open settings,然后选择 Open User Settings(JSON)。打开settings.json文件 ------修改设置-----: 1、 html代码的行长度&am…...
关于网络安全攻防演化博弈的研究小议
1. 拉高视角,从宏观看网络安全攻防 伴随着信息化的发展,网络安全的问题就一直日益突出,与此同时,网络安全技术也成为研究热点,直到今日也没有停止。 从微观来看,网络安全技术研究指的是针对某项或某几项…...
【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(7)
1.问题描述: 推送通知到手机,怎么配置拉起应用指定的页面? 解决方案: 1、如果点击通知栏打开默认Ability的话, actionType可以设置为0, 同时可以在.clickAction.data中,指定待跳转的page页面…...
远程桌面防护的几种方式及优缺点分析
远程桌面登录是管理服务器最主要的方式,于是很多不法分子打起了远程桌面的歪心思。他们采用暴力破解或撞库的方式破解系统密码,悄悄潜入服务器而管理员不自知。 同时远程桌面服务中的远程代码执行漏洞也严重威胁着服务器的安全,攻击者可以利…...
ASP.NET|日常开发中连接Sqlite数据库详解
ASP.NET|日常开发中连接Sqlite数据库详解 前言一、安装和引用相关库1.1 安装 SQLite 驱动1.2 引用命名空间 二、配置连接字符串2.1 连接字符串的基本格式 三、建立数据库连接3.1 创建连接对象并打开连接 四、执行数据库操作4.1 创建表(以简单的用户表为例…...
python的自动化seleium安装配置(包含谷歌的chromedriver)
目录 前言介绍 一、下载谷歌浏览器chromedriver (一)查看谷歌浏览器版本 (二)去官网下载谷歌驱动(chromdriver) (三)谷歌浏览器安装位置解压 (四)配置环境变量 二、pychram里下载安装selenium 三、测试selenium是否成功 前言介绍 Selenium是一个开源的自动化测试工具&…...
QT requested database does not belong to the calling thread.线程中查询数据报错
QT requested database does not belong to the calling thread.线程中查询数据报错 QString name "ttx"; QSqlQueryModel* sql_model; QString sql_comm QString("select * from dssb_moddve_loddt_tab where name%1").arg(name); sql_model->set…...
服务器一般装什么系统?
在服务器管理中,操作系统的选择是一个关键因素,它直接影响到服务器的稳定性、性能和可维护性。那么为什么有些服务器选择Linux,而不是Windows?选择合适的操作系统对服务器的性能和安全性有多么重要? 在众多操作系统中…...
Linux vi/vim 编辑器使用教程
Linux vi/vim 编辑器使用教程 引言 Linux 系统中的 vi 和 vim 是非常强大的文本编辑器,它们以其高效性和灵活性而闻名。vim 是 vi 的增强版,提供了更多的功能和改进的用户界面。本文将详细介绍 vi/vim 的基本用法,包括打开文件、编辑文本、…...
JavaEE多线程案例之阻塞队列
上文我们了解了多线程案例中的单例模式,此文我们来探讨多线程案例之阻塞队列吧 1. 阻塞队列是什么? 阻塞队列是⼀种特殊的队列.也遵守"先进先出"的原则. 阻塞队列是⼀种线程安全的数据结构,并且具有以下特性: 当队列满的时候,继续⼊队列就会…...
梳理你的思路(从OOP到架构设计)_基本OOP知识04
目录 1、 主动型 vs.基於被动型 API 1)卡榫函数实现API 2)API的分类 3)回顾历史 4)API >控制力 2、 结语&复习: 接口与类 1)接口的表示 2)Java的接口表示 1、 主动型 vs.基於被动…...
nginx反向代理(负载均衡)
nginx的代理 代理 四层代理 七层代理 正向代理和缓存的配置方式 🐭🐮🐯🐰🐉🐍🐴🐑🐒🐔🐶🐷 反向代理》负载均衡 负载均衡ÿ…...
Android系统应用主要模块
设置 Android Settings开发总结 Launcher Android Launcher开发学习总结 System UI Android SystemUI 学习总结...
【万字详解】三维重建(二)——NeRF、NeuS、MeshUDF、NeuralUDF、3DGS、GShell
文章目录 一、NeRF:Representing Scenes as Neural Radiance Fields for View Synthesis(推荐读)1.1 式1 神经网络的输入和输出1.2 式2 体素渲染算法1.3 式3 损失函数1.4 位置编码1.5 基本原理二、经典的重建流程2.1 传统的三维重建pipeline2.2 神经网络回归2.3 可微渲染最优…...
Thorium浏览器:重新定义Chromium性能的颠覆性优化方案
Thorium浏览器:重新定义Chromium性能的颠覆性优化方案 【免费下载链接】thorium Chromium fork named after radioactive element No. 90. Windows and MacOS/Raspi/Android/Special builds are in different repositories, links are towards the top of the READM…...
交叉编译microcom
由于默认的busybox没有支持microcom工具,也没有提供源码,所以需要自己交叉编译microcom工具。 microcom工具 https://packages.ubuntu.com/zh-cn/plucky/microcom 下载ubuntu带的软件包microcom,下载microcom_2023.09.0.orig.tar.xz版本&…...
Neeshck-Z-lmage_LYX_v2多场景落地:LoRA动态加载赋能数字人直播背景实时生成系统
Neeshck-Z-lmage_LYX_v2多场景落地:LoRA动态加载赋能数字人直播背景实时生成系统 1. 项目简介:一个专为本地绘画优化的轻量级工具 如果你对AI绘画感兴趣,特别是想体验国产的Z-Image文生图模型,但又被复杂的部署流程、繁琐的参数…...
从‘双注意力网络’到MANet:手把手拆解CVPR经典模块在遥感分割中的魔改与应用
从双注意力机制到遥感图像分割:MANet的模块化设计与实战解析 遥感图像分割一直是计算机视觉领域的特殊挑战——当无人机以不同高度和角度拍摄地表时,同一张图像中可能同时存在微小的车辆和庞大的工业园区,这种极端的尺度变化让传统分割网络束…...
Contriever论文精读:手把手拆解对比学习与MoCo如何‘炼成’通用文本嵌入
Contriever技术解析:对比学习与MoCo如何重塑文本嵌入模型 在自然语言处理领域,文本嵌入模型一直是核心基础技术之一。传统的有监督训练方法虽然在某些特定领域表现出色,但当面临跨领域应用时,其性能往往大幅下降。Facebook Resear…...
Fish Speech-1.5镜像资源管理:模型热更新与多版本共存部署方案
Fish Speech-1.5镜像资源管理:模型热更新与多版本共存部署方案 1. 引言:语音合成的新选择 想象一下,你需要为产品演示视频添加多语言配音,或者为在线课程制作不同语言的语音内容。传统方法要么成本高昂,要么效果生硬…...
Python异步编程新选择:用Channels替代Celery实现实时消息推送(Django 3.2+演示)
Python异步编程新选择:用Channels替代Celery实现实时消息推送(Django 3.2演示) 当你的Django应用需要处理实时消息推送时,传统的CeleryWebhook方案可能已经无法满足你对低延迟的需求。本文将带你探索如何利用Django Channels和Web…...
并联混合动力系统Simulink控制策略模型探索
并联混合动力系统控制策略,混合动力系统simulink控制策略模型,并联式混合动力系统simulink控制策略模型 1. 工况可自行添加 2. 仿真图像包括 发动机转矩变化图像、电机转矩变化图像、电池SOC变化图像、速度跟随图像、车速变化图像3z5 3. 整车similink模型…...
茉莉花插件:如何用3分钟完成中文文献元数据智能抓取与PDF大纲生成
茉莉花插件:如何用3分钟完成中文文献元数据智能抓取与PDF大纲生成 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 茉莉…...
高效音频录制实战:如何为你的Web应用选择最佳编码方案
高效音频录制实战:如何为你的Web应用选择最佳编码方案 【免费下载链接】Recorder html5 js 录音 mp3 wav ogg webm amr g711a g711u 格式,支持pc和Android、iOS部分浏览器、Hybrid App(提供Android iOS App源码)、微信,…...
