我们的memcached.conf有以下指令:
-m 7168
而服务器有8GB的RAM。 但是,尽pipe使用量很大,但内存使用率永远不会超过2GB:
# free total used free shared buffers cached Mem: 8178532 2067308 6111224 0 109092 434916 -/+ buffers/cache: 1523300 6655232 Swap: 0 0 0
我们缺less什么?
通常,memcached只使用尽可能多的内存,即使给出了最大限制。 它不像Linux系统缓冲区那样通过devise可以扩展来填充所有可用内存以提高系统性能。
您可以telnet到您的memcache并发出命令
stats stats slabs stats malloc
这应该给你一个关于你的memcache中有多less个对象的大小以及它们占用多less内存的想法。
如果memcached没有足够的内存来存储所有的对象,它将会逐出旧对象,这会增加由slabs返回的“逐出”计数器。 如果“驱逐”为0,那么你的memcache有足够的内存。
您可以在http://lzone.de/cheat-sheet/memcached的 “memcached作弊表”中find许多其他有用的命令和解决scheme