(我检查过类似的问题,但没有一个涉及我的情况)
我正在尝试增加 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_instances
,innodb_buffer_pool_chunk_size
但同样,变化反映在 @@ 变量中,但没有任何变化mysqld
超过 8%,所以我将这两个变量恢复为默认值。
关于该主题的每篇文章或 SO 答案都说更改innodb_buffer_pool_size
并重新启动 MySQL 就足够了。我做错了什么?