first time user with out of memory question

Paul T pault12345 at
Mon Jun 12 17:01:03 UTC 2006

--- Steven Grimm <sgrimm at> wrote:

> Paul T wrote:
> > Like memcached, sharedance is implemented on top
> of libevent. The code 
> > is simpler, though, because it has no 'slabs', no
> mark and sweep 
> > garbage collection e t.c.
> Not to comment one way or another about sharedance,
> but memcached 
> doesn't have mark and sweep garbage collection, as
> far as I'm aware. 

 You're right. What is implemented in memcached should
be called "Lazy Garbage Collection".

 I'm not sure if it is the simplest possible
implementation, but maybe it is.

> And 
> the slab allocator is about as simple (and fast) a
> memory allocation 
> scheme as it's possible to implement -- certainly
> much simpler than any 
> decent-quality malloc implementation you're likely
> to run into.

 And yet there are already two different bugfixes
proposed in that area. 

 I don't follow your logic. 

 Either :
 "it is so simple - it can not have bugs" or 
 "I just fixed the last bug in that part of code" 

 - it can not be *both* at the same time, right? 

> In general, if you're getting "out of memory" errors
> when you try to 
> store an item, you need to try the Facebook branch.
> That problem is 
> fixed there. (You could also preallocate one item of
> each size when
> memcached starts up; that's what we did before I
> fixed the problem.)

 Unfortunately, memcached is an asynchronous
application (based on libevent). For that kind of
applications (timing/pattern/load/OS sesnitive) -- "it
runs in my environment" does not mean that it would
work for a different setup.


> -Steve

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the memcached mailing list