I just upgraded from 2.7STABLE9 to 3.2.5, and now I'm battling a memory leak.
Squid Cache: Version 3.2.5
configure options: '--prefix=/local/proxy/squid' '--with-maxfd=8192' '--with-pthreads' '--enable-storeio=aufs' '--enable-removal-policies=heap' '--enable-cache-digests' '--enable-delay-pools' '--enable-wccpv2' '--disable-external-acl-helpers' '--disable-ipv6' --enable-ltdl-convenience
Here's the significant part of the configuration:
ident_lookup_access permit all
http_port 8000
cache_peer 127.0.0.1 parent 8080 0 no-query no-digest round-robin weight=1000000
#cache_peer p01.sas.com parent 8080 0 name=p1 no-query no-digest round-robin
cache_peer p02.sas.com parent 8080 0 name=p2 no-query no-digest round-robin
cache_peer p03.sas.com parent 8080 0 name=p3 no-query no-digest round-robin
cache_peer p04.sas.com parent 8080 0 name=p4 no-query no-digest round-robin
#cache_peer p01.sas.com sibling 8000 3130 name=s1 proxy-only
cache_peer p02.sas.com sibling 8000 3130 name=s2 proxy-only
cache_peer p03.sas.com sibling 8000 3130 name=s3 proxy-only
cache_peer p04.sas.com sibling 8000 3130 name=s4 proxy-only
memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA
cache_dir aufs /cache/squid/aufs 100000 64 253
maximum_object_size 5000000 KB
I have four squid servers identically configured,
each a sibling to the other. Each has a local parent
proxy (virus scanner). If the local virus scanner is
unresponsive, the request is forwarded to one of the
other three in round-robin fashion.
I am also performing ident queries just for logging
purposes. Requests do not require authentication.
This configuration has worked without issue for
several years with squid 2.7STABLE9. It doesn't
work well with squid 3.2.5.
Memory usage grows at about the same rate as the
query rate. After 16 hours memory usage is about
6 GB. The query rate is about 200/sec during
business hours. If I restart squid the memory
usage goes back to ~600 MB and starts growing.
There are about 2.5 million objects in the cache.
I thought the problem might be ICP, so I tried HTCP
instead of ICP for the cache siblings but that did
not make a difference. I do have another 3.2.5 system
handling ~100 requests/second that does not exhibit
the problem. The one without a problem uses these
four as siblings, and I've tried both ICP and HTCP
there, too.
I've checked the cache.log file for clues. After
~5,000,000 queries I found ~1,500 messages like
WARNING: Forwarding loop detected for
and ~3,000 messages like
Failed to select source for '[null_entry]'
Those messages would have to leak about 1 MB each to
account for the memory loss I'm seeing.
The system without the problem does not perform the
ident queries. Could the leak be there? Is anyone
using ident?
Mike Mitchell
Received on Thu Dec 20 2012 - 21:47:09 MST
This archive was generated by hypermail 2.2.0 : Fri Dec 21 2012 - 12:00:09 MST