Linux怎么监控内存
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要介绍"Linux怎么监控内存"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Linux怎么监控内存"文章能帮助大家解决问题。一、安装Linux下面的
千家信息网最后更新 2025年01月17日Linux怎么监控内存
这篇文章主要介绍"Linux怎么监控内存"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Linux怎么监控内存"文章能帮助大家解决问题。
一、安装Linux下面的一个邮件客户端Msmtp软件(类似于一个Foxmail的工具)
1、下载安装:https://marlam.de/msmtp/download/
# 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.sh
4、查看内存监控的结果文件:
# 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怎么监控内存"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
内存
邮件
监控
文件
剩余
服务器
系统
服务
结果
命令
方式
时间
知识
面的
信息
内容
地址
大小
小数
总量
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全信息化手段
数据库表查询两个字段都有的数据
软件开发需要做哪些基础工作
使命召唤18单机版需要连接服务器
网络安全二级等级保护
excle检查重复数据库
上海综合日志审计服务器
网络技术安全方面的警察
深圳华众网络技术有限公司
电脑数据库怎么备份
服务器设备几年更换一次
连接远程linux服务器
下列数据库语言定义表
秦皇岛软件开发规范
火山动力网络技术
美剧星球的服务器在哪里
品茗升级数据库失败
组织切片图谱数据库
东方国信软件开发待遇
读取数据库中某个数
数据库零基础
管理网络技术服务怎么样
微信小程序需要服务器数据库
网络技术暴力
公司内部怎么搭建局域网服务器
服务器自动锁屏怎么设置
网络技术分类方法
服务器设备几年更换一次
苏州西邦网络技术有限公司
守望先锋有哪些服务器