Memcache not freeing memory when a key expires

Peter van Dijk peter at nextgear.nl
Wed Mar 1 13:20:36 UTC 2006


On Tue, Feb 28, 2006 at 11:05:02AM -0800, Evan Fribourg wrote:
> Under our unit testing with memcached, when we insert an item with a TTL
> greater than 0, when the item expires the item is not removed from memory
> until a GET command is issued on the key.  Based on the lazy reaper, this is
> normal operating procedure. In production, however, our memcached server
> will max out its usable space and NOT seem to drop keys based on the LRU
> scheme, with settings.evict_to_free == 1.

I'm putting 5 bucks on: your ulimits are set too low, so the -kernel-
is preventing memcache from allocating more memory; but, as memcache
hasn't reached the memory limit you configured -in memcache-, it is not
cleaning up yet.

Cheers,
Peter.


More information about the memcached mailing list