mysql内存表怎么查询 mysql内存使用详解( 三 )


原来在 MySQL 中还有专门启用大内存页的参数,在 MySQL 大内存页称为 large page 。
查看 MySQL 配置文件
发现配置文件中确实有 large-page 配置,但出于禁用状态 。
后与业务确认,很早之前确实启用过 mysql 的 large page , 不过后面禁用了 。排查到这基本就有了结论 。
结论
这套环境之前开启了 20000 的大内存页,每页大小为 2MB , 占用了 40G 内存空间,给 MySQL 使用,并且 MySQL 开启了 large page , 但后来不使用的时候,只关闭了 MySQL 端的 large page 参数,但没有实际更改主机的关于大内存页的配置 , 所以导致,实际上主机上的还存在 20000 的大内存页,并且没在使用,这一部分长期空闲,并且其他程序不能使用 。
所以 MySQL 在使用 20G 内存左右,整个主机内存就饱和了,然后在部分条件下,就触发了 OOM,导致 mysqld 被 kill,但主机上又有 mysqld_safe 守护程序,所以又再次给拉起来,就看到了文章初的偶尔连接不上的现象 。
mysql内存表怎么查询的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于mysql内存使用详解、mysql内存表怎么查询的信息别忘了在本站进行查找喔 。

推荐阅读