centos6 系统slab内存一直线性增长
一、问题描述
原本一直运行比较稳定的阿里云服务器,突然有一天内存告警,大概使用95%左右。因当时事情比较多,清理系统内存缓存后,此事就搁置了。但前几天又收到内存告警短信,抽了点时间处理相关问题。以下将记录问题从定位到解决的整个过程。
二、问题追踪
1).查看各进程占用的内存情况
使用top后按内存排序,发现各进程使用率不高。最高的0.5%,平均0.2%左右。

从上图可以看出,进程使用的内存不到10%.
2). 查看内存使用分布情况
a). 运行cat /proc/meminfo命令查看内存使用分布情况。

从上图我们可以看出系统总内存16G,而slab占用大概16G的内存。其中slab内存大部分可以回收释放,不可释放的只有48M。
b). 运行slabtop查看slab分布。

从上图可以看出dentry几乎占了14G的空间。

本文记录了一次CentOS6系统中slab内存异常线性增长的问题排查及解决过程,涉及内存使用情况分析、slab内存分布检查、内核参数调整及软件升级等关键步骤。

356

被折叠的 条评论
为什么被折叠?



