If it helps, you could reduce the stack size on linux using ulimit -s
<stackSizeInKB)

thanks!
rohitk

On Mon, Feb 7, 2011 at 1:32 PM, letmewatch.TV
<pay.letmewatch...@gmail.com>wrote:

> Hi Dormando,
>
> Thanks for your response.
>
>
> On 06/02/2011 23:44, dormando wrote:
>
>> I've found (part of) the answer to my own question - the virtual
>>> memory comes from the thread stacks.  Setting -t 1 reduces the virtual
>>> memory to around 20MB.
>>>
>>> I've read from other posts that it is no longer possible to have a non-
>>> threaded memcached version.  It appears on my system that the stack
>>> size being used is 10MB.  This is almost certainly way too large.  Is
>>> there any way to conveniently (i.e. without major edits to the source
>>> code) set the thread stack size for the threads that memcached uses,
>>> e.g. through a macro setting?
>>>
>> There's some amount of overhead with pre-allocating the hash table and
>> this and that... that'll show up as virtual memory until data's written
>> into it. Also note that memcached will lazily allocate one slab per slab
>> class, so even if you set -m 12 you'll end up using 50+ megs of ram if you
>> put one item in each slab class.
>>
>> You could also use -I to lower the max item size and reduce some overhead.
>>
> I tried varying the values for -I, but it made no difference to the overall
> vmem displayed when starting up (though it may in time).
>
>  Don't think it explicitly sets the thread stack size, and I forget how to
>> tweak that offhand, I think google will tell you :P
>>
> I've decided to move my memory caching into eaccelerator (for PHP), since
> for the current app it doesn't need data to be hosted on multiple machines -
> and thus both reduces the size of virtual mem and will access the data
> slightly quicker.
>
> Thanks again,
>
> Dave.
>
>

Reply via email to