MySQL服务器发生OOM的案例分析

网友投稿 800 2022-11-04

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

MySQL服务器发生OOM的案例分析

【问题】

有一台MySQL5.6.21的服务器发生OOM,分析下来与多种因素有关

【分析过程】

1、服务器物理内存相对热点数据文件偏小,62G物理内存+8G的SWAP,数据文件大小约550G

触发OOM是binlog备份的cp进程

2、mysqld实际使用物理内存远大于innodb_buffer_pool_size设置,与我们之前分析的内存分配管理模块有关,建议更换为jemalloc

可以参考我之前的文章,MySQL5.7.18(ptmalloc VS tcmalloc VS jemalloc)性能测试

<1>这个MySQL实例配置了45G的buffer pool,发生OOM时,mysqld进程实际使用到约61G

<2>另一台相同配置的服务器,配了32G的buffer pool,MySQL物理内存用到了57G,SWAP已使用5G

3、NUMA节点内存分配不均导致了SWAP空间大量使用,下图是这台服务器mysqld进程在各NUMA节点的内存使用情况,建议开启numa interleave访问

【优化方案】

1、 升级内存更大的服务器

2、 建议更换mysqld进程的内存分配管理模块为jemalloc

3、 建议开启mysql进程的numa  interleave访问

开启numa  interleave的步骤,可以参考文章

NUMA导致的MySQL服务器SWAP问题分析与解决方案

上一篇:大学资料-C语言程序设计(商洛学院)
下一篇:ORA-00600: [kauxs_do_jou:3]
相关文章

 发表评论

暂时没有评论,来抢沙发吧~