innodb

本文来源:原创投稿

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。

前言

innodb_buffer_pool_size可以调大,却不能调小至1GB以内,这是为什么?

MySQL 版本:5.7.30

测试环境有台 MySQL 服务器反应很慢,检查系统后发现内存使用量已超过90%,并且有大量的SWAP占用:


运行top按内存占用排序,查看系统资源使用情况

可以看到内存占用最多的是java进程和4个mysqld进程。

由于短期内无法加内存,java内存大小应用不让调整,那就只能想办法压缩mysqld使用的内存大小了。

这台服务器部署了4个 MySQL 实例,其中两个是轻量级应用,数据量非常少,但当时创建的时候配置文件使用的是相同的配置,所以先拿这两个开刀。

执行下面的命令查看当前innodb buffer pool值

mysql>show global variables like 'innodb_buffer_pool%';