我有一个装有 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内存参数讨论。