【MySQL】【5.7】内存不回收
本帖最后由 Yangzy 于 2023-8-29 12:00 编辑MySQL版本:5.7.32
操作系统:Ubuntu 20.04
问题:配置BF大小为16GB,以下为部分参数配置截图
数据库内存使用90%(总大小64GB)
部分内核参数配置
未配置jemalloc
show engine innodb status 内存部分输出
参考叶老师之前的文章:https://www.modb.pro/db/512361
使用gdb --batch --pid `pidof mysqld` --ex 'call malloc_trim(0)' 命令可以回收内存
以前的环境,使用centos安装数据库,未配置jemalloc内存管理,但是没有遇到过内存不释放的情况,想请问下可能触发的原因是什么呢
执行 free -mt 看看结果啥样的,有可能是你当前的版本有内训泄露缺陷。
另外,参考这篇文章的思路排查看看那 https://mp.weixin.qq.com/s/fLSg74hsin5Ke_oIbFzcyA 本帖最后由 Yangzy 于 2023-8-29 14:40 编辑
yejr 发表于 2023-8-29 13:40
执行 free -mt 看看结果啥样的,有可能是你当前的版本有内训泄露缺陷。
另外,参考这篇文章的思路排查看看 ...
好的
叶老师,我这边目前是mysql,非percona版本,所以是没有开启线程池环境的,应该和这篇文章不是同一个类型,另外pfs的内存监控是在使用率上来后打开的,监控数据可能有误,已经贴图,能麻烦您再帮忙看看吗
Yangzy 发表于 2023-8-29 14:18
好的
叶老师,我这边目前是mysql,非percona版本,所以是没有开启线程池环境的,应该和这篇文章不是同一 ...
看起来是比较典型的内存泄漏问题。
两个建议:
1. 安装和启用Jemalloc。
参考:https://greatsql.cn/docs/8032/user-manual/4-install-guide/4-1-install-prepare.html#_7-%E5%85%B6%E4%BB%96
2. 考虑升级MySQL版本到最新(或者升级到GreatSQL 5.7.36-39版本),内存管理更完善一些。 yejr 发表于 2023-8-29 16:30
看起来是比较典型的内存泄漏问题。
两个建议:
1. 安装和启用Jemalloc。
好的好的,多谢啦,叶老师 Yangzy 发表于 2023-8-29 14:18
好的
叶老师,我这边目前是mysql,非percona版本,所以是没有开启线程池环境的,应该和这篇文章不是同一 ...
你这个应该是内存缓慢上涨吧?
1.看是否可以做个内存监控,看下内存上涨的时候,解析mysql的binlog 看下mysql做什么操作
2.我之前遇到两个会导致mysql的内存会缓慢上涨的例子
2.1 不断的建分区表
2.2 不断的建表
除非找到稳定复现的方法,否则排查到根本原因的难度很大。如果只想解决问题而已,那就是修改内存分配器为 jemalloc 即可 fander 发表于 2023-9-6 17:04
除非找到稳定复现的方法,否则排查到根本原因的难度很大。如果只想解决问题而已,那就是修改内存分配器为 j ...
不是很好复现,这个问题也是在客户环境遇到的 mysql萌新 发表于 2023-9-5 19:03
你这个应该是内存缓慢上涨吧?
1.看是否可以做个内存监控,看下内存上涨的时候,解析mysql的binlog 看下my ...
嗯嗯,是缓慢上涨的,不过是在从库,主库没有出现这个现象,应该和写入关系不大
页:
[1]