linux中使用shell脚本检测内存使用情况

昝辉Zac Zac的SEO博客,坚持12年,优化成为生活。

linux系统服务器有一个好处就可以实时的使用脚本来检测到系统的一个运行状态了,下面我们来看看关于linux中使用shell脚本检测内存使用情况例子,希望对各位有帮助.

公司服务器最近两天老是因为内存被使用满而造成死机,实在是受不了老叫机房的人去帮忙重启,专门写了个脚本来释放下内存,当然这台服务器不是太重要,我粗鲁的处理方式估计不会适合大多数服务器,请大家使用之前先考虑清楚,不然造成数据丢失就不关我的事了.

脚本内容:

  1. catcheck-mem.sh
  2. #!/bin/bash
  3. mem_total=`free-m|awk'NR==2'|awk'{print$2}'`
  4. mem_free=`free-m|awk'NR==3'|awk'{print$4}'`
  5. mem_used=`free-m|grepMem|awk'{print$3}'`
  6. if(($mem_used!=0));then
  7. mem_per=0`echo"scale=2;$mem_free/$mem_total"|bc`
  8. DATA="$(date-d"today"+"%Y-%m-%d-%H-%M")freepercentis:$mem_per"
  9. echo$DATA>>/var/log/mem_detect.log
  10. mem_warn=0.20
  11. mem_now=`expr$mem_per\>$mem_warn`
  12. if(($mem_now==0));then
  13. sync--phpfensi.com
  14. echo3>/proc/sys/vm/drop_caches
  15. fi
  16. fi

下面说明下吧:

  1. #!/bin/bash
  2. #系统分配的区总量
  3. mem_total=`free-m|awk'NR==2'|awk'{print$2}'`
  4. #当前剩余的大小
  5. mem_free=`free-m|awk'NR==3'|awk'{print$4}'`
  6. #当前已使用的used大小
  7. mem_used=`free-m|grepMem|awk'{print$3}'`
  8. if(($mem_used!=0));then
  9. #如果已被使用,则计算当前剩余free所占总量的百分比,用小数来表示,要在小数点前面补一个整数位0
  10. mem_per=0`echo"scale=2;$mem_free/$mem_total"|bc`
  11. DATA="$(date-d"today"+"%Y-%m-%d-%H-%M")freepercentis:$mem_per"
  12. echo$DATA>>/var/log/mem_detect.log
  13. #设置的告警值为20%(即使用超过80%的时候告警)。
  14. mem_warn=0.20
  15. #当前剩余百分比与告警值进行比较(当大于告警值(即剩余20%以上)时会返回1,小于(即剩余不足20%)时会返回0)
  16. mem_now=`expr$mem_per\>$mem_warn`
  17. #如果当前使用超过80%(即剩余小于20%,上面的返回值等于0),释放内存
  18. if(($mem_now==0));then
  19. sync
  20. echo3>/proc/sys/vm/drop_caches
  21. fi
  22. fi

相关广告
  • linux中使用shell脚本检测内存使用情况 linux中使用shell脚本检测内存使用情况 linux中使用shell脚本检测内存使用情况
相关阅读

linux中使用shell脚本检测内存使用情况

2019/10/10 17:46:28 | 谷歌SEO算法 | 搜索引擎