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

admin 2025-11-06 14:37:30 系统网络 来源:ZONE.CI 全球网 0 阅读模式
  • 案例需求
  • 脚本应用场景:
  • 解决问题
  • 脚本思路
  • 实现代码

    案例需求

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

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

    脚本应用场景:

    监控平台+内存监控脚本手动监控

    解决问题

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

    脚本思路

    1、获取物理内存、swap的相关数据 1.1通过数据检索获得物理内存总量、Swap的总量 1.2通过数据检索获得物理内存的使用量,Swap的使用量 1.3通过检索获得物理内存buff&cache的量2、调用相关数据进行运算,并输出结果

    实现代码

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

    01-shell脚本介绍-《shell脚本》

    一、shell脚本是什么二、为什么要学shell,而不是其他计算机语言三、学习这门课程的优势四、学了能干什么五、学习什么内容六、学习的技巧七、成长路径八、学习环
    评论:0   参与:  17