Varnish malloc + swap

Viktor Villafuerte viktor.villafuerte at
Mon Sep 12 01:41:54 CEST 2016

Hi all,

This is related to varnish 3.0.2 (yes I know upgrade is due) where I
have 48G of memory and storage is 'malloc,29G'. This is all good and
from graphs I can see the system having about 15G of unused memory.
Varnish (from smem) is using pretty much all the allocated memory. There
is more content expected then the memory available and Varnish is
expected to 'recycle' memory, which it does. I've changed nuke_limit to
500 (from 50). I don't want to raise it further as there's not that much
traffic on those servers and I absolutely believe that 500 should be
more than enough.

But then ('then' is sometimes 12hrs, sometimes 4days) it starts eating
swap but there is still 15G of unused memory. Further, the swap is
sometimes released but sometimes it's kept by Varnish. Again, from smem,
I can see that Varnish is holding the swap.

There was a suggestiong to limit transient storage but from varnishstat
I can see no allocator failures in transient storage and every byte that
is allocated there is also freed.

I have changed kernel parameters for memory/swap usage but this is still

How/when does Varnish decide to use swap and for what reason if there's
still plenty of memory available?

Any pointers to links, or wisdom learnt from experience is welcomed :)




Viktor Villafuerte
Optus Internet Engineering
t: +61 2 80825265

More information about the varnish-misc mailing list