Lack of free swap space on

最近这些天有一台服务器总是会收到剩余swap过低的告警 Lack of free swap space on。

故障PROBLEM,服务器:jiangjiaowebserver发生: Lack of free swap space on 10.4.5.7故障!
告警主机:jiangjiaowebserver 
告警时间:2019.03.30 19:11:40 
告警等级:Warning 
告警信息: Lack of free swap space on 10.4.5.7 
告警项目:system.swap.size[,pfree] 
问题详情:Free swap space in %:49.98 % 
当前状态:PROBLEM:49.98 % 
事件ID:334221
简单查看了一下服务器配置:

image.png

至于swap的监控,可以使用下面的脚本来做一些简单的分析,还算是比较实用的。

因为环境的swap使用很低,所以可以找一台服务器swap相对较高的,然后使用下面的脚本来分析

# vi s.sh 
for i in $( cd /proc;ls |grep "^[0-9]"|awk ' $0 >100') ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps 2>/dev/null ; done | sort -k2nr | head -10

执行s.sh此脚本如下:

# ./s.sh 
23414 476.664M
23465 439.812M
23447 439.699M
23418 437.953M
23416 390.125M
736 119.012M
30920 20.5859M
22662 9.99219M
22659 9.66406M
22661 9.65625M

可以看到哪个进程占用较高的temp资源情况
查看应用进程是什么如图(如果不是自己服务可以看情况去关掉):

image.png

上图片几个红色进程我查了一下资料可能是I2的灾备

sdatad.exe、rpcserver.exe、sdatalogd.exe、Srepd.exe、sdatabaklogd.exe、i2Availability.exe这些进程是否开启。进程描述如下:

服务名称 所属模块 说明
i2-Availability 共用 高可用功能模块
i2-rpc
工作机\灾备机与控制机RPC的通讯模块
i2-Sdatad 工作机 工作机与灾备机Srepd的通讯模块
i2-Slogd
工作机日志模块,并将日志送给控制机
i2-Srepd 灾备机 灾备机与工作机Sdatad的通讯模块
i2-Slogdbk
灾备机日志模块,并将日志送给控制机

查看灾备的I2服务

image.png

kill掉占用高的进程

# kill -9 23465
# kill -9 23416
# kill -9 23414
# kill -9 23418

在次查看swap空间已释放了

image.png

zabbix监控也报告已恢复正常


猜你喜欢

转载自blog.51cto.com/meiling/2419008