加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL 5.6因为OOM导致数据库重开

发布时间:2022-04-06 19:34:29 所属栏目:MySql教程 来源:互联网
导读:线上的一套MySQL 5.6的从库,因为OOM而导致数据库重启。 # tail -50 /var/log/messages Nov 13 16:00:40 app-push-db2 kernel: Out of memory: Kill process 26121 (mysqld) score 957 or sacrifice child Nov 13 16:00:40 app-push-db2 kernel: Killed pr
        线上的一套MySQL 5.6的从库,因为OOM而导致数据库重启。
 
       # tail -50 /var/log/messages
      Nov 13 16:00:40 app-push-db2 kernel: Out of memory: Kill process 26121 (mysqld) score 957 or sacrifice child
      Nov 13 16:00:40 app-push-db2 kernel: Killed process 26121 (mysqld) total-vm:18804176kB, anon-rss:15541596kB, file-rss:0kB, shmem-rss:0kB
      报错原因:
 
      这台实例所在的服务器上面部署了单实例MySQL,物理内存为16G,分配给数据库的缓存innodb_fuffer_pool_size为12G。
 
# free -g
              total        used        free      shared  buff/cache   available
Mem:             15          10           0           0           5           4
Swap:             0           0           0
为了提高性能,这台实例关闭了磁盘的swap交换。
# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
 
当客户端连接多的时候,导致内存资源耗尽。
 
解决方法:
 
将innodb_buffer_pool_size调整为10G,预留出一些内存给操作系统和客户端连接。
 
重启数据库,使参数生效。
 
# grep innodb_buffer_pool /etc/my.cnf
innodb_buffer_pool_size=10G

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!