MySQL数据库频繁出现OOM问题该如何化解(oom的原因和解决方法)

admin 175 2022-09-17

阿里云服务器优惠多,折扣错,惊喜多,请咨询:www.wqiis.com

MySQL数据库频繁出现OOM问题该如何化解(oom的原因和解决方法)

公司一些数据库开始出现不规律的OOM( “out of memory” ,超出内存空间,即内存不足。),好几次出现业务不可用场景,而且时长都超过半小时,莫着急,小编今天带您快速了解,MySQL数据库频繁出现OOM问题该如何化解。

MySQL数据库频繁出现OOM问题该如何化解(oom的原因和解决方法)

大神:你把7天以内的内存使用历史记录说一下。

小明:这7天的内存持续增高。

大神:首先,你使用MySQL自身提供的performance_schema,分析哪块内存区域消耗最大且持续增长;

其次,看看最 近是否有业务变更,以及新模块涉及的语句是什么。

小明:大神,根据你的建议,我们找到一个重大突破口,发现这么一个问题:表数量较大(1w+),innodb memory

持续增长,慢语句中发现大量重复频繁元数据查询语句。

大神:自建数据库绝大部分环境都会忽略掉一个设置,即内存管理器使用系统自带的glibc库,在一些情况下内存存在持续增长并达到最大值,而且很长时间内不会释放一个潜在问题。如果表数量较大,且频繁查询元数据会造成内存

碎片无法及时清理,并最终导致系统出现OOM。

小明:纳尼,还有这种情况,我这就去查查。出问题的数据库确实是这么一个组合: MySQL数据库某分支版本+安装采用系统自带内存管理器+一个新模块上线+不定期的查询元数据,综合导致了OOM问题。

它不是简单的将数据库服务化,而是采用了jemalloc内存管理器,不存在内存回收问题,且内存管理性能更优;

同时内核对innodb_buffer_pool_size进行了内控,可以避免用户设置超过实际物理内存的失误,这也是数

据库稳定背后的一个细节体现。

小明:听起来很腻害的样子!我得赶紧试一下。

大神:数据库将操作系统、数据库版本、数据库默认设置、内核优化形成一个最优组合呈现给用户,让用户即开

即用,简单省心。就像4s店提车一样,可以立马上路。

小明:问题已解决,客户系统运行稳定,数据库MySQL真牛!不过,是否还会有复发的风险呢?

大神:数据库MySQL会给用户提供合理的默认设置,但OOM的另外一个关键在于“怎么用”,这里我给你一个

锦囊妙计,你可以根据以下公式来推算和配置数据库合适的总内存,这样就可以避免OOM问题。

小明:太好了,以后可以少加班了。

大神:认准数据库MySQL,化解OOM不在话下,高效安全又可靠。

上一篇:如何快速购买相同已有配置的服务器?
下一篇:云数据库MySQL支持的实例类型和优势对比(云数据库优点)
相关文章

 发表评论

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