<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Ivan Krstic wrote:
<blockquote cite="mid448C19A7.1030601@fas.harvard.edu" type="cite">
  <pre wrap="">Janning Vygen wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">and stats slab produced "out of memory" message, too. At this time it was 
impossible for many users to login to our web application.
    </pre>
  </blockquote>
  <pre wrap=""><!---->If memcached failure means your users can't log in, then you're using it
incorrectly.
  </pre>
</blockquote>
Janning is using the PHP Memcached session store. This is a fairly
common way to use Memcached. It does have the side effect that if a
session can't be created, the user can't log in.<br>
<br>
I'm not convinced it's being used incorrectly. If a set() fails
regularly on out-of-memory in *ANY* usage, nasty things will occur.<br>
<blockquote cite="mid448C19A7.1030601@fas.harvard.edu" type="cite">
  <blockquote type="cite">
    <pre wrap="">but i am concerned about it. As i have 3,5 GB dedicated to memached (-m 3584) 
it should not run out of memory.
    </pre>
  </blockquote>
  <pre wrap=""><!---->I recommend compiling a new binary from the Facebook branch; it contains
a bunch of patches that generally make memcached saner.
  </pre>
</blockquote>
Apparently the Facebook patches include a fix to this very type of
problem, where even though you have more memory available to allocate,
you can't allocate any slabs of the size you need, and so get the "out
of memory" errors. Here we quote Steven Grimm:<br>
<blockquote>"I changed slabs.c so that it never gets those
out-of-memory errors (at the cost of exceeding the maximum memory
setting if you fill up your cache before you've allocated a slab of a
particular class).
"<br>
</blockquote>
--<br>
timeless<br>
<br>
</body>
</html>