1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

mysql内存溢出处理

业务场景:MySQL高可用架构

本文介绍MySQL内存溢出(OOM)处理方法。MySQL是关系型数据库管理系统,MySQL常出现内存溢出故障是软件开发历史上存在了近40年的老大难问题。某业务系统采用MySQL高可用架构,当主库由于内存溢出挂掉后,另外一个主库负责业务,整体业务未受影响。MySQL生产为了保证数据以及业务连续性一定要使用高可用架构。

mysql内存溢出处理

解决过程:查看内存占用并调整相关配置

主库实例OOM时由于占用内存达到Linux系统的最大阈值,导致Linux系统kill了MySQL实例进程。可以通过如下方式查看MySQL占用了多少内存:

  • 查看每个线程占用多少内存,然后乘以正在运行的线程(也就是排查sleep的)。
  • 查看MySQL全局占用多少内存。
  • 查看performance_schema占用多少内存。
  • 查看memory存储引擎占用多少内存。

通过以上方式找到占用内存较多的对象,并根据对象的具体作用来调节数据库配置,如调整业务连接为长连接、调小innodbbuffer等,减少内存占用。如果以上方式无法整改,则可以通过添加物理内存方式解决。

总结

MySQL生产为了保证数据以及业务连续性,一定要使用高可用架构。OOM内存溢出时,要仔细查看MySQL是哪部分占用内存较多,再根据不同部分调整业务生产库的相关配置,包括硬件配置及软件配置。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5969.html