检查内存使用情况,当内存可使用等于100时,释放缓存

[root@localhost thy]#  cat checkMem.sh
#!/bin/bash
#防止内存溢出问题
used=`free -m | awk 'NR==2' | awk '{print $3}'`
free=`free -m | awk 'NR==2' | awk '{print $4}'`
echo "=======================================" >> /var/log/mem.log
data >> /var/log/mem.log
echo "Memory usage | [Use: ${used}MB][Free: ${free}MB]" >> /var/log/mem.log
if [ $free -le 100 ];then
sync && echo 1 > /proc/sys/vm/drop_caches
sync && echo 2 > /proc/sys/vm/drop_caches
sync && echo 3 > /proc/sys/vm/drop_caches
echo "OK" >> /var/log/mem.log
else
echo "Not required" >> /var/log/mem.log

循环版本

[root@localhost thy]# cat ./clear_buff_cache.sh
#!/bin/bash
USED=`free -m | awk 'NR==2' | awk '{print $3}'`
FREE=`free -m | awk 'NR==2' | awk '{print $4}'` while true;
do
echo "===========================" >> /var/log/check_buff_cache.log
date >> /var/log/check_buff_cache.log
echo "Memory usage | [Use:${USED}MB][Free:${FREE}MB]" >> /var/log/check_buff_cache.log
if [ $FREE -le ] ; then
sync && echo > /proc/sys/vm/drop_caches
sync && echo > /proc/sys/vm/drop_caches
sync && echo > /proc/sys/vm/drop_caches
echo "OK" >> /var/log/check_buff_cache.log
else
echo "Not required" >> /var/log/check_buff_cache.log
fi
sleep
done

监控内存和磁盘容量,小于给定值时报警

#!/bin/bash
# 实时监控本机内存和硬盘剩余空间,剩余内存小于500M,根分区剩余空间小于1000M时,发送报警邮件给root管理员 # 得到根分区、内存剩余空间
disk_size=$(df / | awk '/\//{print $4}')
mem_size=$(free | awk '/Mem/{print $4}') # PS:内存和磁盘提取的空间大小是以kb为单位
while :
do
# 判断内存和磁盘容小于等于给定值时发送报警邮件
if [ $disk_size -le 1024000 -a $mem_size -le 512000 ];
then
mail -s "Warning" root <<EOF
Insufficient resources,资源不足
EOF
fi
done

注意EOF:

[root@VM_0_10_centos shellScript]# ./checkMem.sh
./checkMem.sh: line 18: warning: here-document at line 14 delimited by end-of-file (wanted `EOF')
./checkMem.sh: line 19: syntax error: unexpected end of file

PS:报如上错误是因为脚本中的EOF前面有空格。EOF前后都不应该有空格或其他符号

关于内存问题参考网址:https://www.cnblogs.com/muahao/p/6531772.html

【shell脚本】检查内存使用情况===chenkMen.sh的更多相关文章

  1. hdfs对namenode format 之后 应该首先检查内存消耗情况,以判断是否支持开启yarn

    http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarn-default.xml  3.0.0 yarn.sc ...

  2. Linux中检查内存使用情况的命令

    Linux操作系统包含大量工具,所有这些工具都可以帮助您管理系统.从简单的文件和目录工具到非常复杂的安全命令,在Linux上没有太多不能做的事情.而且,虽然普通桌面用户可能不需要在命令行熟悉这些工具, ...

  3. shell脚本检查域名证书是否过期

    最近公司的域名准备过期了,防止用户访问的时候出现异常,所以最近我们准备替换相关网站证书为最新的. (一般HTTPS证书有效期为1年,证书过期后或者该证书不是该域名的有效证书时,在浏览器中访问会出现如下 ...

  4. shell脚本-巡检内存使用率

    #!/bin/bash # by dreamer Q # 巡检内存脚本 #总内存大小 mem_total=`free -m | sed -n '2p' |awk '{print $2}'` #已使用内 ...

  5. Linux上使用shell脚本查看内存情况(超实用)

    #!/bin/bashexport chknum=1 #shell搅拌存放目录(输出日志文件执行后也存于该目录)echo 3 > /wls/wls81/shellsyncwhile [ $chk ...

  6. Shell脚本检查memcache进程并自己主动重新启动

    修正版: #!/bin/sh #check memcache process and restart if down mm_bin="/usr/local/bin/memcached&quo ...

  7. 使用shell脚本查看数据库负载情况

    原创 Oracle 作者:jeanron100 时间:2014-05-23 08:56:26  8912  2 平时在查看数据库的问题时,会有种迷茫的感觉,如果没有任何人反馈问题,基本上没有主动查找问 ...

  8. shell脚本实例-内存磁盘使用警告

    1,磁盘使用警告并发送邮件 #!usr/bin/bash #df -Th|grep '/$' 这个是获取内存使用的那一条记录 #后面两句是获取内存的使用率 disk=`df -Th|grep '/$' ...

  9. java执行shell脚本并输出执行情况

    1.脚本test.sh,置于/Users/hdwang目录下 #!/bin/sh cd /Users/hdwang echo ls:`ls` ;i<=;i++)); do + ); sleep ...

随机推荐

  1. 如何使用numpy实现一个全连接神经网络?(上)

    全连接神经网络的概念我就不介绍了,对这个不是很了解的朋友,可以移步其他博主的关于神经网络的文章,这里只介绍我使用基本工具实现全连接神经网络的方法. 所用工具: numpy == 1.16.4 matp ...

  2. tomcat程序生成的日志文件不可读问题 - 运维总结

    现象描述:线上机器的程序文件(包括TOMCAT自身)使用APP账号作为属主运行,同时禁止了APP账号的BASH.登录系统使用了统一认证,这样每个人都有自己的账号登录系统.为了方便开发人员登录查看日志, ...

  3. 英语阅读——The confusing pursuit of beauty

    这篇文章是<新视野大学英语>第四册的第二单元的文章,很好的一篇议论文,读起来也很有意思. 1 If you're a man, at some point a woman will ask ...

  4. 死磕 java同步系列之ReentrantReadWriteLock源码解析

    问题 (1)读写锁是什么? (2)读写锁具有哪些特性? (3)ReentrantReadWriteLock是怎么实现读写锁的? (4)如何使用ReentrantReadWriteLock实现高效安全的 ...

  5. 利用Python突破验证码限制

    一.实验说明 本实验将通过一个简单的例子来讲解破解验证码的原理,将学习和实践以下知识点: Python基本知识 PIL模块的使用 二.实验内容 安装 pillow(PIL)库: $ sudo apt- ...

  6. cmdb项目-3

    1. cmdb资产审计 2.stark组件使用 快速完成网站的一个组件,使用方式与django的admin系统类似 ,仅仅将model注册 ,就可以生成对model增删改查的页面 ,当然这里还包括了模 ...

  7. apache jmeter 使用

    ======================= 插件 ======================= 在JMeter 中很多东西都是基于插件技术的, 所以扩展性非常好, 比如下面这些东西都是插件: 1 ...

  8. 监控类shell脚本

    1)开头加解释器:#!/bin/bash 2)语法缩进,使用四个空格:多加注释说明. 3)命名建议规则:变量名大写.局部变量小写,函数名小写,名字体现出实际作用. 4)默认变量是全局的,在函数中变量l ...

  9. nginx默认配置文件解释

    nginx默认配置文件 nginx.conf 介绍: 全局配置 user  nginx; 设置nginx服务的系统使用用户 worker_processes  1; 工作进程数(建议和CPU核心数保持 ...

  10. excel制作田字格,excel行高磅,列宽1/10英寸;

    打开一个excel表格,发现列宽是行高的4倍: 开始-格式中查看,发现行高14.25磅,列宽8.38*1/10英寸: 网上百度,了解1英寸=72磅: 那么列宽8.38=60.336磅: 60.336英 ...