MySQL 的 innodb_buffer_pool_size 似乎对 RAM 使用没有任何影响

MySQL 的 innodb_buffer_pool_size 似乎对 RAM 使用没有任何影响

(我检查过类似的问题,但没有一个涉及我的情况)

我正在尝试增加 Ubuntu 16.04 上的 MySQL 5.7 内存使用量。在我进行更改之前,mysqld它使用了 8GB 可用内存中的约 8%,这意味着 InnoDB 缓冲池可能设置为 512MB。

我设置innodb_buffer_pool_size为 4G,重新启动mysqld,然后检查@@innodb_buffer_pool_size变量:它显示4294967296哪个是正确的。

但是top它告诉我内存使用率仍然为 8%!我有一些包含数百万条记录的相当大的表,我运行了大量查询,但无论如何,mysqld似乎从未超过 8%。是的,我的所有表都使用 InnoDB。

我也尝试使用和innodb_buffer_pool_instancesinnodb_buffer_pool_chunk_size但同样,变化反映在 @@ 变量中,但没有任何变化mysqld超过 8%,所以我将这两个变量恢复为默认值。

关于该主题的每篇文章或 SO 答案都说更改innodb_buffer_pool_size并重新启动 MySQL 就足够了。我做错了什么?

相关内容