lvmetad内存泄露问题处理
lvmetad内存泄露问题处理
zphj1987问题背景
lvmetad是操作系统上面的lvm的缓存服务,基本上所有的操作系统上面都有,我们使用的操作系统版本为
1 | [root@node232 ~]# lsb_release -a |
lvm版本为
1 | [root@node232 ~]# rpm -qa|grep lvm |
如果环境为上面的版本,重点关注一下,通过检查下top看下内存是否有下面的问题
相关问题
https://sourceware.org/git/?p=lvm2.git;a=commit;h=bcf9556b8fcd16ad8997f80cc92785f295c66701
确认当前使用版本存在这个问题
复现步骤
反复查询触发问题
1 | [root@lab103 ~]# cat lvmleak.sh |
执行一个记录内存的脚本
1 | [root@lab103 ~]# cat jilu.sh |
7194为lvmetad的pid
可以看到内存是持续增加的,每次一点点
处理方法
临时释放内存
1 | [root@lab103 ~]# systemctl restart lvm2-lvmetad |
如果环境是不好传包的,就直接重启下,这个内存累积的还比较慢,可以先重启处理掉
如果卡住,就再换一个终端,kill掉lvmetad进程即可
升级lvm解决问题
比较代码
可以看到后面的版本已经解决了这个问题了
1 | device-mapper-1.02.170-6.el7_9.5.x86_64.rpm |
一共需要更新6个包
wget http://mirror.centos.org/centos/7/updates/x86_64/Packages/
这个路径里面下载
1 | rpm -Uvh *.rpm |
默认情况下会保留之前的lvm配置文件,不会进行替换,所以没有问题,不需要其它操作
重启进程生效
1 | [root@lab103 ~]# systemctl restart lvm2-lvmetad |
如果卡住,就再换一个终端,kill掉lvmetad进程即可
升级后
可以看到问题解决
评论
匿名评论隐私政策