Create worker thread failed 12 Cannot allocate memory

Dag-Erling Smørgrav des at
Mon Jul 30 10:16:54 CEST 2007

rad_kam at writes:
> i686 GNU/Linux....

The i386 has a 4 GB address space, 1 GB of which is normally reserved
for the kernel, leaving 3 GB for applications (or even less depending on
the data segment size limit, 'ulimit -d').  A big chunk of that goes to
the program text (including libraries) and bss, and the stacks (one for
each thread).  The cache file can be up to 2 GB (Varnish will refuse to
use more than that on a 32-bit system), and malloc gets whatever is
left, which probably isn't enough if you use a large cache file.

> i have also set the ulimit value as 500000...

*which* ulimit value?

> and worker proces 2048 but still the same error

Increasing the number of worker threads will only make things worse.
You should decrease it to the expected number of concurrent clients.

Dag-Erling Smørgrav
Senior Software Developer
Linpro AS -

More information about the varnish-misc mailing list