![MySQL 的 innodb_buffer_pool_size 似乎对 RAM 使用没有任何影响](https://linux22.com/image/725508/MySQL%20%E7%9A%84%20innodb_buffer_pool_size%20%E4%BC%BC%E4%B9%8E%E5%AF%B9%20RAM%20%E4%BD%BF%E7%94%A8%E6%B2%A1%E6%9C%89%E4%BB%BB%E4%BD%95%E5%BD%B1%E5%93%8D.png)
(我检查过类似的问题,但没有一个涉及我的情况)
我正在尝试增加 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 就足够了。我做错了什么?