文档章节

linux通过内存的占用比shell 记录日志

摇滚哈哈狗
 摇滚哈哈狗
发布于 2015/10/22 14:01
字数 442
阅读 633
收藏 9
#服务监控脚本
#!/bin/bash
#monitor available disk space
#查看内存占用的百分比  free -m | sed -n '2p' | awk '{print "used mem is "$3"M,total mem is "$2"M,used percent is "$3/$2*100"%"}'

#系统分配的区总量  
mem_total=`free -m | grep Mem | awk '{print  $2}'`  
 
#当前剩余的free大小  
mem_free=`free -m | grep Mem | awk '{print  $4}'`  
 
#当前已使用的used大小  
mem_used=`free -m | grep Mem | awk '{print  $3}'`  
 
 
if (($mem_used != 0)); then  
 
#如果已被使用,则计算当前剩余free所占总量的百分比,用小数来表示,要在小数点前面补一个整数位0  
 mem_per=0`echo "scale=2;$mem_free/$mem_total" | bc`  
 DATA="$(date -d "today" +"%Y-%m-%d-%H-%M") free percent is : $mem_per"

#设置的告警值为20%(即使用超过80%的时候告警)。  
   mem_warn=0.20  
 
#当前剩余百分比与告警值进行比较(当大于告警值(即剩余20%以上)时会返回1,小于(即剩余不足20%)时会返回0 )  
   mem_now=`expr $mem_per \> $mem_warn`  
 
#如果当前使用超过80%(即剩余小于20%,上面的返回值等于0),释放内存
  if (($mem_now == 0)); then  

        DAT="`date +%Y%m%d`"
		HOUR="`date +%H`"
		DIR="/home/weblog/host_${DAT}/${HOUR}"
		DELAY=60
		COUNT=60
		# whether the responsible directory exist
		if ! test -d ${DIR}
		then
		    /bin/mkdir -p ${DIR}
		fi
		# general check
		export TERM=linux
		/usr/bin/top -b -d ${DELAY} -n ${COUNT} > ${DIR}/top_${DAT}.log 2>&1 &
		# cpu check
		#/usr/bin/sar -u ${DELAY} ${COUNT} > ${DIR}/cpu_${DAT}.log 2>&1 &
		#/usr/bin/mpstat -P 0 ${DELAY} ${COUNT} > ${DIR}/cpu_0_${DAT}.log 2>&1 &
		#/usr/bin/mpstat -P 1 ${DELAY} ${COUNT} > ${DIR}/cpu_1_${DAT}.log 2>&1 &
		# memory check
		/usr/bin/vmstat ${DELAY} ${COUNT} > ${DIR}/vmstat_${DAT}.log 2>&1 &
		# I/O check
		#/usr/bin/iostat ${DELAY} ${COUNT} > ${DIR}/iostat_${DAT}.log 2>&1 &
		# network check
		#/usr/bin/sar -n DEV ${DELAY} ${COUNT} > ${DIR}/net_${DAT}.log 2>&1 &
		#/usr/bin/sar -n EDEV ${DELAY} ${COUNT} > ${DIR}/net_edev_${DAT}.log 2>&1 &
  fi 
fi


© 著作权归作者所有

摇滚哈哈狗
粉丝 14
博文 226
码字总数 28445
作品 0
深圳
程序员
私信 提问
常用 shell sql 命令

vim添加指定开始的行号 :g/^/ s//=line('.')+765.':'/ vim 将文件所有行合并到一行 在 Normal Mode下执行: ggvGJ 逗号分割的字符串转化成多行 %s/,/r/g gg 用于跳到行首 v 转换成 visual 模......

birdinroom
2018/06/28
0
0
如何用 Linux 技巧大大提高工作效率?

译者 | 守望先生 责编 | 屠敏 前言 Linux中的一些小技巧可以大大提高你的工作效率,本文就细数那些提高效率或者简单却有效的Linux技巧。 命令编辑及光标移动 这里有很多快捷键可以帮我们修正...

CSDN资讯
03/26
0
0
如何把一个运行完好的Kafka搞崩溃

版权声明:本文为博主原创文章,未经博主朱小厮允许不得转载。 https://blog.csdn.net/u013256816/article/details/82804525 欢迎支持《RabbitMQ实战指南》以及关注微信公众号:朱小厮的博客...

朱小厮
2018/09/21
0
0
Linux用户态进程的内存管理

上一篇我们了解了内存在内核态是如何管理的,本篇文章我们一起来看下内存在用户态的使用情况,如果上一篇文章说是内核驱动工程师经常面对的内存管理问题,那本篇就是应用工程师常面对的问题。...

p23onzq
2018/04/22
0
0
sysstat——系统性能监控神器

是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如:CPU 使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行,是提...

舆图易稿
2018/06/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

idea修改新的git地址

我们在项目变动中通常会遇到更换git地址情况,这里介绍一个在idea项目中简单更换git地址操作: 1、点击VCS; 2、点击Git; 3、点击Remotes; 具体步骤如图 4、点击框中链接即可在右边看到一个...

west_coast
18分钟前
6
0
将规则集传递给mixin

允许包装在mixin中定义的css块。 分离的规则集是一组CSS属性、嵌套规则集、媒体声明或者是存储在变量中的任何其他内容,我们可以将它包含在规则集中或其他结构中,并且所有属性都将复制到那里...

凌兮洛
20分钟前
4
0
玩转阿里云 Terraform(一):Terraform 是什么

从本文起,我将陆续推出一系列有关 Terraform 的文章,从概念,特点,工作机制,用法以及最佳实践等多个方面由浅入深的向大家介绍如何在阿里云上玩转 Terraform。同时也希望借此机会,与感兴...

阿里云官方博客
20分钟前
4
0
科研大数据面临的挑战

近几十年硬件的发展非常迅猛,第一台Macintosh苹果电脑的内存是128KB(0.13MB),现在很多笔记本配的是8GB的内存,硬盘1TB(1024GB),2TB的很常见。大型的数据服务器上还会有更大的储容量,...

英论阁学术院
20分钟前
5
0
python学习10.09:Python列表和元组的底层实现

有关列表(list)和元组(tuple)的底层实现,本节分别从它们的源码来进行分析。 首先来分析 list 列表,它的具体结构如下所示: typedef struct { PyObject_VAR_HEAD /* Vector o...

太空堡垒185
21分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部