Yeah, this was my impression as well.  I wrote a small test-script in ruby to fill the cache with a bunch of objects of the same size, and then try to put in a small object, but it still did not reproduce the problem.  I don't have a spare 3G of ram box to try it on.  
<br><br>What happens if you try to store an object of N bytes, but there are no slabs with buckets of that size?&nbsp; I&#39;d assume that you&#39;d either put it in a bigger bucket or retire an entire slab.<br><br><div class="gmail_quote">
On Nov 13, 2007 5:25 PM, Jeremy Blain &lt;<a href="mailto:jeremy@belent.com">jeremy@belent.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I&#39;ve seen this happen in the past as well, but forgot about it till now.<br>Bouncing the server also fixed it.<br><br>My not very thorough looking about seemed to suggest the cache had<br>allocated all it&#39;s slabs already to certain sized objects, and it wanted
<br>to store the current object in a slab that had chunks of sizes that<br>didn&#39;t exist.<br><div class="Ih2E3d"><br><br><br><br>Matt Knox wrote:<br><br>&gt; The problem seems to have gone away on bouncing memcache, and we can&#39;t
<br>&gt; replicate it, even though we started memcache in exactly the same way,<br>&gt; on the same machines. &nbsp;We&#39;ll probably make 3 1Gb instances instead of<br>&gt; the 3G instances if it recurs.<br>&gt;<br>&gt; thanks for the help!
<br>&gt;<br>&gt; matt<br>&gt;<br>&gt;<br>&gt; On Nov 11, 2007 9:06 PM, dormando &lt;<a href="mailto:dormando@rydia.net">dormando@rydia.net</a><br></div><div><div></div><div class="Wj3C7c">&gt; &lt;mailto:<a href="mailto:dormando@rydia.net">
dormando@rydia.net</a>&gt;&gt; wrote:<br>&gt;<br>&gt; &nbsp; &nbsp; *pulls old mail out of garbage*<br>&gt;<br>&gt; &nbsp; &nbsp; Curious if you&#39;re still having this issue? If it&#39;s been fixed/etc? I<br>&gt; &nbsp; &nbsp; didn&#39;t see any noise on the list about it since.
<br>&gt;<br>&gt; &nbsp; &nbsp; Matt Knox wrote:<br>&gt; &nbsp; &nbsp; &gt; I consistently get an out of memory error when performing &nbsp;&lt; 44<br>&gt; &nbsp; &nbsp; byte<br>&gt; &nbsp; &nbsp; &gt; (key+data) puts to memcache, but when &#39;put&#39;-ing the same key
<br>&gt; &nbsp; &nbsp; with data<br>&gt; &nbsp; &nbsp; &gt; that is long enough to exceed 44 chars key + data &nbsp;, I succeed. &nbsp;I<br>&gt; &nbsp; &nbsp; &gt; observe this behavior using both the ruby client<br>&gt; &nbsp; &nbsp; (memcache-client 1.5)<br>&gt; &nbsp; &nbsp; &gt; and the python one (python-memcached), although the python
<br>&gt; &nbsp; &nbsp; client seems<br>&gt; &nbsp; &nbsp; &gt; to break at 59 chars, rather than 44.<br>&gt;<br>&gt; &nbsp; &nbsp; Spiffy! Can&#39;t reproduce it on a 64-bit host. Haven&#39;t tried 32-bit.<br>&gt;<br>&gt; &nbsp; &nbsp; &gt; I&#39;m running memcached 
1.2.2 with the following options:<br>&gt; &nbsp; &nbsp; &gt;<br>&gt; &nbsp; &nbsp; &gt; memcached -d -p 11211 -u nobody -c 1024 -m 3072<br>&gt; &nbsp; &nbsp; &gt;<br>&gt; &nbsp; &nbsp; &gt; The offending servers are recent CentOS running 3G of cache each on<br>
&gt; &nbsp; &nbsp; &gt; 32-bit boxes with 4G ram-if it matters, I can get details about<br>&gt; &nbsp; &nbsp; these.<br>&gt;<br>&gt; &nbsp; &nbsp; I suspect that&#39;s a big deal. The maxbytes limit doesn&#39;t include random<br>&gt; &nbsp; &nbsp; buffers that are used for connections, stats commands, this and
<br>&gt; &nbsp; &nbsp; that. So<br>&gt; &nbsp; &nbsp; you&#39;ll be apt to bowl over the 32-bit address space. I&#39;ve never<br>&gt; &nbsp; &nbsp; trusted<br>&gt; &nbsp; &nbsp; that the different splits even work.<br>&gt;<br>&gt; &nbsp; &nbsp; So, if you are still having this issue:
<br>&gt;<br>&gt; &nbsp; &nbsp; - How&#39;d you build memcached?<br>&gt; &nbsp; &nbsp; - Exactly what version of centos?<br>&gt; &nbsp; &nbsp; - Does it happen after memcached has been up for a long time, or<br>&gt; &nbsp; &nbsp; immediately?<br>&gt; &nbsp; &nbsp; - Does it still happen if you lower the -m option to 
1.6-1.8<br>&gt; &nbsp; &nbsp; gigabytes?<br>&gt;<br>&gt; &nbsp; &nbsp; Thanks,<br>&gt; &nbsp; &nbsp; -Dormando<br>&gt;<br>&gt;<br>&gt;<br><br></div></div></blockquote></div><br><br clear="all"><br>-- <br>(def (eval e l d c)<br> &nbsp;(if &nbsp;(atom? e)<br> &nbsp; &nbsp; &nbsp;((ahandler (type e)) e l d c)
<br> &nbsp; &nbsp; &nbsp;(eval (car e) l d <br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(fun (x) <br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (evapp x (cdr e) l d c)))))