阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

shell脚本案例-监控内存使用率

90次阅读
没有评论

共计 933 个字符,预计需要花费 3 分钟才能阅读完成。

案例需求

打印内存使用率脚本,打印内存使用率、swap 使用率、buff&cache 使用量

实现效果

# 实现演示
内存使用率: 2.69%,buff&cache:535 MB
Swap 使用率: 0%

脚本应用场景:

监控平台 + 内存监控脚本

手动监控

解决问题

随时掌握业务对内存的占用,合理使用内存资源

脚本思路

1、获取物理内存、swap 的相关数据

​ 1.1 通过数据检索获得物理内存总量、Swap 的总量

​ 1.2 通过数据检索获得物理内存的使用量,Swap 的使用量

​ 1.3 通过检索获得物理内存 buff&cache 的量

2、调用相关数据进行运算,并输出结果

实现代码

#!/bin/bash # #Author: www.zutuanxue.com #Created Time: #Release: #Description: 内存使用率计算脚本 #1、通过 free 命令结合数据处理获得对应数据 #1.1、获得内存总量 memory_totle=`free -m|grep -i "mem"|tr -s ""|cut -d " " -f2` swap_totle=`free -m|grep -i "swap"|tr -s ""|cut -d " " -f2` #1.2、获得内存使用的量 memory_use=`free -m|grep -i "mem"|tr -s ""|cut -d " " -f3` swap_use=`free -m|grep -i "swap"|tr -s ""|cut -d " " -f3` #1.3、buff/cache buff_cache=`free -m|grep -i "mem"|tr -s ""|cut -d " " -f6` #2、计算输出 # 运算的时候是否需要小数点 浮点运算,要考虑使用的命令(难点 重点) #echo "内存使用率: $((memory_use*100/memory_totle))%" # 难点:浮点运算中,同优先级的情况下,大数除以小数 尽可能保证精确 echo "内存使用率: `echo"scale=2;$memory_use*100/$memory_totle"|bc`%,buff&cache:$buff_cache MB" echo "Swap 使用率: `echo"scale=2;$swap_use*100/$swap_totle"|bc`%"

案例思考

内存获取的方式 内存占用的优先级

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-06-09发表,共计933字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中