![我可以安全地为 memcached 分配多少内存?](https://linux22.com/image/525446/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%AE%89%E5%85%A8%E5%9C%B0%E4%B8%BA%20memcached%20%E5%88%86%E9%85%8D%E5%A4%9A%E5%B0%91%E5%86%85%E5%AD%98%EF%BC%9F.png)
我正在研究在我们的服务器上使用 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 是磁盘缓存。空闲内存会随着时间推移被用作磁盘缓存,因此将用作缓存的内存视为空闲内存是相当安全的,即使它目前正用于某些有用的用途。