我可以安全地分配给memcached多less内存?

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

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

(我们曾经是一个32位4GB的盒子)。

问题是我很困惑,Linux如何使用内存,以及如何转换为我的munin图。

因此,根据我的graphics来判断(或者我可以在控制台中使用一个方便的命令?)我可以安全地分配给memcached多less内存。 即我有多less内存?

编辑:graphics图像托pipe过期,所以删除图像托pipe网站的广告。

那么,几乎所有的时间都在8G以上(黄色,“未使用”)或者caching(深蓝色)。 在我看来,分配给memcached的上限可能是6GB(给或不带),这对于其他进程和一些磁盘caching仍然会有相当多的余量而没有真正的交换风险。 人们也可以争辩,你可以分配更多。 这是一个品味的问题,真正的性能好处将取决于您的具体应用。

请记住,如果你告诉memcached最多使用6GB的内存,除非你存储6G的内存,否则它不会使用那么多。 如果只存储1GB,则只消耗1GB,即使限制为6GB。 我build议你将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是未使用的内存,caching是磁盘caching。 随着时间的推移,可用内存将被用作磁盘caching,所以将内存用作caching是免费的,即使它被用于某些有用的内容也是安全的。