MySQL几乎消耗了缓存中的所有内存?

H6.*_*H6. 1 mysql memory debian cache

我正在运行具有 24G RAM 的服务器。这里唯一运行的是一个配置为 Master 的 MySQL 服务器。

当我通过 free -m 检查内存时,我得到了这个:

             total       used       free     shared    buffers     cached
Mem:         24158      24027        131          0        131      23050
Run Code Online (Sandbox Code Playgroud)

大约 23G 在缓存中。这对我来说似乎很多。

我还在 my.cnf 中将缓存设置为 0

query_cache_size        = 0
Run Code Online (Sandbox Code Playgroud)

如何检查缓存的内容?此外,重新启动 mysql 不会清除缓存。Aflush tables也没有帮助。

Mik*_*ott 5

您正在查看两个不同的缓存。free -m告诉您操作系统为磁盘缓存使用了多少内存,而不是 MySQL 为数据库缓存使用了多少内存。操作系统应该为磁盘缓存使用尽可能多的内存——为什么不想要尽可能大的缓存?如果应用程序需要,该内存始终可供使用。有关缓存的 Linux 内存使用情况的详细讨论,请参见此处