MySQL案例-多源复制引起的内存泄漏
接前文: http://blog.itpub.net/29510932/viewspace-2129312/
场景 :
MySQL-5.7, 所有的小版本(<=17), percona-mysql-5.7所有版本;
开启多源复制的只读实例的内存无限增长, 直到触发系统的OOM Kill;
结论 :
mysql bug, 附上bug单链接: https://bugs.mysql.com/bug.php?id=85371
现象描述 :
内存监控如图
问题原因:
目前只能基于现象来分析;
开启binlog_rows_query_log_events之后, 启用多源复制的slave会出现内存泄漏;
表现为内存使用率不断增长: 占用内存的为slave_sql线程, 数据库事件为memory/sql/Log_event;
相关数据(来源于截图中的实例):
重启只读slave之后, 相关事件的内存使用:
申请了内存,但是没有释放过: COUNT_FREE, SUM_NUMBER_OF_BYTES_FREE为0
点击(此处)折叠或打开
- *************************** 2. row ***************************
- THREAD_ID: 18189
- EVENT_NAME: memory/sql/Log_event
- COUNT_ALLOC: 521692
- COUNT_FREE: 0
- SUM_NUMBER_OF_BYTES_ALLOC: 117988604
- SUM_NUMBER_OF_BYTES_FREE: 0
- ...
- LOW_NUMBER_OF_BYTES_USED: 25286276
- CURRENT_NUMBER_OF_BYTES_USED: 117988604
- HIGH_NUMBER_OF_BYTES_USED: 117988604
- *************************** 3. row ***************************
- THREAD_ID: 18183
- EVENT_NAME: memory/sql/Log_event
- COUNT_ALLOC: 521426
- COUNT_FREE: 0
- SUM_NUMBER_OF_BYTES_ALLOC: 117732632
- SUM_NUMBER_OF_BYTES_FREE: 0
- ...
- LOW_NUMBER_OF_BYTES_USED: 25154914
- CURRENT_NUMBER_OF_BYTES_USED: 117732632
- HIGH_NUMBER_OF_BYTES_USED: 117732632
两小时以后:
点击(此处)折叠或打开
- *************************** 1. row ***************************
- THREAD_ID: 18189
- EVENT_NAME: memory/sql/Log_event
- COUNT_ALLOC: 2297022
- COUNT_FREE: 0
- SUM_NUMBER_OF_BYTES_ALLOC: 525744164
- SUM_NUMBER_OF_BYTES_FREE: 0
- ...
- LOW_NUMBER_OF_BYTES_USED: 25286276
- CURRENT_NUMBER_OF_BYTES_USED: 525744164
- HIGH_NUMBER_OF_BYTES_USED: 525744164
- *************************** 2. row ***************************
- THREAD_ID: 18183
- EVENT_NAME: memory/sql/Log_event
- COUNT_ALLOC: 2296412
- COUNT_FREE: 0
- SUM_NUMBER_OF_BYTES_ALLOC: 524600639
- SUM_NUMBER_OF_BYTES_FREE: 0
- ...
- LOW_NUMBER_OF_BYTES_USED: 25154914
- CURRENT_NUMBER_OF_BYTES_USED: 524600639
- HIGH_NUMBER_OF_BYTES_USED: 524600639
event对应的线程:
点击(此处)折叠或打开
- *************************** 1. row ***************************
- thd_id: 18183
- conn_id: 18158
- user: sql/slave_sql
- command: Sleep
- state: Slave has read all relay log; waiting for more updates
- current_memory: 532.28 MiB
- *************************** 2. row ***************************
- thd_id: 18189
- conn_id: 18164
- user: sql/slave_sql
- command: Sleep
- state: Slave has read all relay log; waiting for more updates
- current_memory: 533.50 MiB
- 2 rows in set (0.10 sec)
解决方案 :
关闭binlog_rows_query_log_events(默认就是关闭的),
实际上这个参数主要是控制binlog中是否记录原始SQL语句的, 主要是Debug用;
而平时用-vv来解析binlog以后, 本身也会注明row模式中的SQL语句, 可读性也还可以接受;
这个bug目前是S2(Serious)
关闭这个配置以后, 内存变化如上图的后半部分, 基本可以看到不再有明显的上升趋势;
需要注意的是, 并不一定就不再有内存泄漏的问题了, 希望官方早日修复~
PS: Null的测试继续拖, 写不动写不动写不动_(:з」∠)_
MySQL案例-多源复制引起的内存泄漏相关推荐
- MySQL 5.7--多源复制(非GTID模式)
==================================================== 在MYSQL5.7版本中引入多源复制,一个从库允许复制多个主库的数据,每个主库被配置为一个单独 ...
- php+mysql案例含源码_【专注】Zabbix源码安装教程—步骤详解(1)安装前准备
一.实验环境准备 Rhel 7.6 x86_64(server) 192.168.163.72 Rhel 6.5 x86_64(agent) 192.168.163.61 均已配置操作安装光盘为YUM ...
- php+mysql案例含源码_[源码和文档分享]基于PHP和MYSQL数据库实现的失物招领系统...
一.功能描述 1.1 系统实现的目的和意义 目的:在新校区为大家提供一个失物招领的平台. 意义:现在新校区面积较大,同学们丢失物品后,只通过线下途径进行效率低下且失主与拾物者联系不便,所以想通过这个系 ...
- mysql多源复制 知乎_技术分享 | MySQL 多源复制场景分析
作者:杨涛涛 今天有客户问起:如何汇总多台 MySQL 数据到一台上? 我回答:可以尝试下 MySQL 的多源复制. 我们知道 MySQL 单主一从,单主多从,或者级联的主从架构我们都见的很多了.但是 ...
- Android—内存泄漏、GC及LeakCanary源码解析
内存抖动:内存频繁的分配和回收,频繁的GC会导致UI卡顿,严重的时候导致OOM. 内存泄露:程序在向系统申请分配内存空间后(new),在使用完毕后未释放.结果导致一直占据该内存单元,我们和程序都无法再 ...
- Android内存泄漏定位、分析、解决全方案
为什么会发生内存泄漏 内存空间使用完毕之后未回收, 会导致内存泄漏.有人会问:Java不是有垃圾自动回收机制么?不幸的是,在Java中仍存在很多容易导致内存泄漏的逻辑(logical leak).虽然 ...
- android 内存泄漏分析工具,Android内存泄漏终极解决篇(上)
一.概述 在Android的开发中,经常听到"内存泄漏"这个词."内存泄漏"就是一个对象已经不需要再使用了,但是因为其它的对象持有该对象的引用,导致它的内存不能 ...
- android 内存泄漏(持续更新)
1.产生原因 该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收 参考: Android 内存泄漏总结-阿里云开发者社区 2.内存泄漏的场景 1.单例导致内 ...
- mysql复制多行_mysql中的复制方式总结(半同步复制,并行复制,多源复制)
一.MySQL主从复制(异步复制,默认) Mysql主从复制原理 Mysql的复制原理大致如下: 1.主库记录binlog日志 在每次准备提交事务完成数据更新前,主库将数据更新的事件记录到二进制日志b ...
最新文章
- 【LaTeX】E喵的LaTeX新手入门教程(3)数学公式
- IT运维服务管理中知识
- HTML5学习笔记(二)2015-12-7
- java整合apollo(一)
- html中flash的使用,[转载]flash中可以使用的HTML标签[有用]
- [转载] python中字符串编码形式及其所占字节
- css垂直水平居中的整理
- android权威指南十三章,《Android编程权威指南》第30~32以及第34章读书笔记
- 图书封面的故事之——“巴别塔”选自《七周七语言:理解多种编程范型》
- oracle11g 冷备,oracle11G Windows冷备恢复
- FCKeditor配置和使用(转)
- web前端效率提升之禁用缓存-遁地龙卷风
- 何凯明———去雾算法论文阅读记录
- 全套web前端课程思维导图+视频+源码 web高端课程 深入学习 624个视频教程
- redis专题-----11-----redis订阅发布以及stream
- Python3 计算空气质量指数AQI
- tof相机简介及三维坐标转化,plotly画3D点云
- 数字化转型 — 新能源汽车 — 产品设计与研发流程
- 【安卓Handler】Handler消息机制
- alsa 驱动介绍及user层到hw层文件ioctl操作流程分析