减少 CentOS 上的 MySQL RAM 使用量

减少 CentOS 上的 MySQL RAM 使用量

我有一个装有 CentOS 5 (32 位) 的 vps,它有 256mb 的 RAM,虽然不多,但对我来说已经足够了。空闲时,有 2 个 ssh 连接处于活动状态,httpd 正在运行,它使用大约 40mb 的 RAM,但只要我启动 MySQL,它就会飙升到 220mb!有什么方法可以优化 RAM 使用率吗?我只在上面做了一些简单的开发工作。

干杯 :)

答案1

首先,您如何显示可用 RAM 量?如果通过“free”命令,请注意您需要查看“free”下的第二行,而不是第一行(更多细节)。 例如:

             total       used       free     shared    buffers     cached
Mem:       8191172    8059600     131572          0     169792    6648500
-/+ buffers/cache:    1241308    6949864
Swap:            0          0          0

就我而言,我有 8GB 的​​ RAM,但其中近 7GB 在缓冲区+缓存中,所以我真正的可用内存是 6.9GB,而不是“可用”下第一列的 131MB。

但是,正如您所说,256MB 的 RAM 并不多。您说“这对我来说足够了”,但如果您在运行所需应用程序时内存不足,也许您需要重新考虑您真正需要多少内存。

话虽如此,我想你可能更好地控制内存使用。首先,确保您查看的数字正确(如上所述)。我的一台机器上运行着一个 MySQL 守护进程,它使用频率不高,但使用量不大,如图所示,它似乎使用了 30MB 的常驻内存ps awwlx | grep mysql。但它还使用了另外 160MB 的虚拟内存,因此可能相当紧张。

如果你真的想减少使用量,可以尝试调整文件中的设置my.conf以减少缓存数量和其他内容。这里有一个很好的mysql内存参数讨论

相关内容