我可以安全地为 memcached 分配多少内存?

我可以安全地为 memcached 分配多少内存?

我正在研究在我们的服务器上使用 memcached。我们刚刚升级,现在有一个相当强大的盒子:

DELL PowerEdge R710 Linux
RHEL 5 - 64bit
12GB RAM

(我们以前使用的是 32 位 4GB 的盒子)。

问题是我对 Linux 实际如何使用内存以及如何将其转换为我的 munin 图感到困惑。

因此根据我的图表来判断(或者是否有一个可以在控制台中使用的方便的命令?),我可以安全地为 memcached 分配多少 RAM。即我有多少备用 RAM?

编辑: 图形图像托管已过期,因此图像托管网站删除广告。

答案1

好吧,实际上,您几乎一直都有超过 8G 的可用空间(黄色,“未使用”)或作为缓存(深蓝色)。在我看来,您为 memcached 分配的上限可能是 6GB(大概),这仍然会为其他进程和一些磁盘缓存留出大量空间,而不会产生真正的交换风险。有人可能会说您可以分配更多。这是一个个人喜好问题,真正的性能优势将取决于您的特定应用程序。

请记住,如果您告诉 memcached 使用最多 6GB 内存,除非您在其中存储 6G,否则它不会使用那么多。即使限制是 6GB,如果您只在其中存储 1GB,它也只会消耗 1GB。我建议您将 memcached 添加到您的监控中,并密切关注 memcached 的bytes统计数据并相应地限制内存使用量,以确保系统在用户突然激增时不会做出任何意外行为。

您可以从 shell 中使用它free来确定内存使用情况,它会告诉您类似这样的信息:

             total       used       free     shared    buffers     cached
Mem:       4060096    3775976     284120          0     270828    1899720
-/+ buffers/cache:    1605428    2454668
Swap:       577528          0     577528

Free 是未使用的内存,cached 是磁盘缓存。空闲内存会随着时间推移被用作磁盘缓存,因此将用作缓存的内存视为空闲内存是相当安全的,即使它目前正用于某些有用的用途。

相关内容