[squid-users] Significant memory leak with version 5.x (not with 4.17)

Alex Rousskov rousskov at measurement-factory.com
Thu Dec 23 14:23:37 UTC 2021


On 12/23/21 1:58 AM, Praveen Ponakanti wrote:
> On Wed, Dec 22, 2021 at 6:45 AM Alex Rousskov wrote:
> 
>     On 12/21/21 7:48 PM, Praveen Ponakanti wrote:
> 
>     > We are running the squid proxy for servicing outbound HTTP quests from
>     > our network and have observed a significant memory leak with 5.x
>     > versions. While there are several discussions about memory leaks with
>     > recent versions, just wanted to list out what we have observed in case
>     > this is an unknown leak.
> 
>     I recommend sharing a log with 48+ hourly mgr:mem snapshots. These
>     snapshots help compare your leak with others we know about and may help
>     isolate some of the memory leaks:
>     https://bugs.squid-cache.org/show_bug.cgi?id=5132#c8

> I will continue collecting these stats hourly.

I will analyze those logs once you share them. Comparing two snapshots
from different Squid versions/instances may be useful, but it is much
more time consuming, and I cannot offer to do that right now.


> The output appears to be quite large

> ... where do I send the files with the memory logs?

The scripts that track memory usage changes across hourly snapshots do
not care about the log size. However, you may want to share a link to
the (compressed) log rather than sharing the log itself. The best place
to share that info, IMO, is the bug report I referenced above, but you
can post here, of course.


> I might have to fix how it is launched from
> the docker entrypoint script in my test env. 

FWIW, here is one of the valgrind commands I use (with paths stripped):

> valgrind -v --trace-children=no --child-silent-after-fork=yes --num-callers=50 --log-file=valgrind-%p.log --time-stamp=yes --leak-check=full --leak-resolution=high --show-reachable=no --track-origins=no --gen-suppressions=all --suppressions=valgrind.supp squid -f squid.conf ...

Valgrind reports useful leak info after Squid exits.

I do not have updated/polished Valgrind suppressions, but I can share
what I use:
https://gist.github.com/rousskov/a1f503981b4a3832ab44221b0b615b5a

I do not use gdb/valgrind monitor so I cannot help you there.


HTH,

Alex.


More information about the squid-users mailing list