Linux中怎么使用shell脚本监控系统内存
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章主要介绍了Linux中怎么使用shell脚本监控系统内存的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux中怎么使用shell脚本监控系统内存文章都会有所收
千家信息网最后更新 2025年11月11日Linux中怎么使用shell脚本监控系统内存
这篇文章主要介绍了Linux中怎么使用shell脚本监控系统内存的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux中怎么使用shell脚本监控系统内存文章都会有所收获,下面我们一起来看看吧。

一、安装Linux下面的一个邮件客户端Msmtp软件(类似于一个Foxmail的工具)
1、下载安装:http://downloads.sourceforge.net … 206451&big_mirror=0
# tar jxvf msmtp-1.4.16.tar.bz2# cd msmtp-1.4.16# ./configure --prefix=/usr/local/msmtp# make# make install
2、创建msmtp配置文件和日志文件(host为邮件域名,邮件用户名test,密码123456)
# vim ~/.msmtprcaccount defaulthost 126.comfrom test@126.comauth loginuser testpassword 123456logfile ~/.msmtp.log# chmod 600 ~/.msmtprc# touch ~/.msmtp.log
3、mutt安装配置:(一般linux下有默认安装mutt)
# vim ~/.muttrcset sendmail="/usr/local/msmtp/bin/msmtp"set use_from=yesset realname="memory"set from=test@126.comset envelope_from=yesset rfc2047_parameters=yesset charset="utf-8"
4、邮件发送测试(-s邮件标题,-a表加附件)
# echo "邮件内容123456" | mutt -s "邮件标题测试邮件" -a /scripts/test.txt test@126.com
二、使用Free命令监控系统内存
1、使用free命令查看linux系统内存使用情况:(以M为单位)
# free -m(执行结果如下样式)total used free shared buffers cachedMem: 3952 3414 538 0 168 484-/+ buffers/cache: 2760 1191Swap: 8191 86 8105
2、查看截取剩余内存free的数值命令:
(1) 物理内存free值:# free -m | grep Mem | awk '{print $4}'(2) 缓冲区的free值:# free -m | grep - | awk '{print $4}'(3) Swap分区free值:# free -m | grep Swap | awk '{print $4}'3、编写内存监控的脚本文件:
# vim /scripts/free-mem.sh#!/bin/bash#使用free命令监控linux系统内存变化#取系统当前时间(以追加的方式写入文件>>)date >> /scripts/date-time.txt#抓取物理内存free值(以追加的方式写入文件>>)echo Mem-free: `free -m | grep Mem | awk '{print $4}'`M >> /scripts/mem-free.txt#抓取缓冲区的free值(以追加的方式写入文件>>)echo buffers/cache-free: `free -m | grep - | awk '{print $4}'`M >> /scripts/buffers-free.txt#抓取Swap分区free值(以追加的方式写入文件>>)echo Swap-free: `free -m | grep Swap | awk '{print $4}'`M >> /scripts/swap-free.txt#逐行连接上面的时间和内存相关行数据(每次重新写入文件>)paste /scripts/date-time.txt /scripts/mem-free.txt /scripts/buffers-free.txt /scripts/swap-free.txt > /scripts/freemem.txt# chmod a+x /scripts/free-mem.sh# /scripts/free-mem.sh4、查看内存监控的结果文件:
# cat /scripts/freemem.txt
5、编写free结果文件邮件发送脚本:
# vim /scripts/sendmail-mem.sh#!/bin/bash#把生成的freemem.txt文件通过邮件发送给用户#提取本服务器的IP地址信息IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`#提取当前日期时间today=`date -d "0 day" +%Y年%m月%d日`#发送内存监控结果邮件echo "这是$IP服务器$today的内存监控报告,请下载附件。" | mutt -s "$IP服务器$today内存监控报告" -a /scripts/freemem.txt test@126.com# chmod a+x /scripts/sendmail-mem.sh
三、监控系统交换分区Swap的情况,当使用超过80%的时候发告警邮件
# vim /scripts/swap-warning.sh#!/bin/bash#提取本服务器的IP地址信息IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`#系统分配的交换分区总量swap_total=`free -m | grep Swap | awk '{print $2}'`#当前剩余的交换分区free大小swap_free=`free -m | grep Swap | awk '{print $4}'`#当前已使用的交换分区used大小swap_used=`free -m | grep Swap | awk '{print $3}'`if ((swap_used != 0)); then#如果交换分区已被使用,则计算当前剩余交换分区free所占总量的百分比,用小数来表示,要在小数点前面补一个整数位0swap_per=0`echo "scale=2;$swap_free/$swap_total" | bc`#设置交换分区的告警值为20%(即使用超过80%的时候告警)。swap_warn=0.20#当前剩余交换分区百分比与告警值进行比较(当大于告警值(即剩余20%以上)时会返回1,小于(即剩余不足20%)时会返回0 )swap_now=`expr $swap_per > $swap_warn`#如果当前交换分区使用超过80%(即剩余小于20%,上面的返回值等于0),立即发邮件告警if (($swap_now == 0)); thenecho "$IP服务器swap交换分区只剩下 $swap_free M 未使用,剩余不足20%,使用率已经超过80%,请及时处理。" | mutt -s "$IP 服务器内存告警" test@126.comfifi# chmod a+x /scripts/swap-warning.sh四、加入任务计划:内存每十分钟检测一次,有告警则立即发邮件(十分钟发一次),内存检测结果邮件每天早上8点发一次
# crontab -e*/10 * * * * /scripts/free-mem.sh*/10 * * * * /scripts/swap-warning.sh0 8 * * * /scripts/sendmail-mem.sh# service crond restart
关于"Linux中怎么使用shell脚本监控系统内存"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Linux中怎么使用shell脚本监控系统内存"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
内存
邮件
监控
文件
系统
剩余
监控系统
脚本
服务器
服务
结果
命令
方式
内容
时间
知识
面的
信息
地址
大小
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
睿云服务器怎么扩容
北京农商银行软件开发面试
计算机二级数据库难吗
王者服务器记录清空
百度网络技术有限公司电话
电大数据库应用技术形考册
苏州软件开发应届生工资
数据库快捷方式
网络安全数据泄露
福州市网络安全和信息测评中心
2020国家网络安全周为
网络安全防范常识电影
学习电脑网络技术哪个学校好
顾建国网络安全局
深圳大学网络安全学院分数线
人工智能如何设计服务器
网络安全商易安联
对外开具软件开发怎么做账
软件开发人员需要考的证书
软件开发商业计划书的的附录
视频监控数据库如何加密
网络安全信息化的重要性
超微8U服务器 拆解
服务器未反应
电大数据库应用技术形考册
idl数据库
sql 内存 数据库
数据库视图索引
盛康网络技术
电脑服务器是什么