Re: [squid-users] Squid at 100% CPU with 10 minutes period

From: Guy Bashkansky <guybas_at_gmail.com>
Date: Sat, 5 Dec 2009 19:06:01 -0800

Amos, thanks for the links. I've looked at the mailing list and the
open bugs, and could not find something similar to what I see, with
the 10 minutes period.

We're using a customized version of Squid 2.4 STABLE6, and it's not in
my power to upgrade it to any later version... It runs on FreeBSD
6.2-RELEASE-p9 amd64 servers.

I know I need some profiling/debugging information to determine where
CPU spends its cycles, but on these servers most usual tools are
either absent or not working very well:
There's no 'oprofile' for FreeBSD, 'pmcstat' fails to run (no lib?),
'gprof' does not give info beyond parseConfigFile() even in my custom
profiling-enabled version with -N, 'gdb' does not recognize debug
info, and 'strace' is not installed.

I've found 'truss' command to be working and traced system calls made
by the squid process, trying to recognize some patterns -- noticed
that during CPU load spike write() sometimes returns EPIPE, 'Broken
pipe'.

Does my version (2.4 STABLE6) ring any bells?

On Sat, Dec 5, 2009 at 3:33 AM, Amos Jeffries <squid3_at_treenet.co.nz> wrote:
>
> Guy Bashkansky wrote:
>>
>> Amos,
>>
>> Where can I find a list of the solved "Squid uses 100% CPU" bugs?  It
>> would help me figure out which one I may be experiencing.
>
> Sorry for being gruff.
>
> The mailing list queries:
>  http://squid.markmail.org/search/?q=squid+uses+100%25+cpu
>
> The remaining open bugs mentioning
> http://bugs.squid-cache.org/buglist.cgi?quicksearch=100%25+CPU
>
> The closed ones are hard to find as they have been re-named to say what the actual problems was.
>
>
> Which release and version of squid is this?
>
>>
>> When I attach gdb to the running squid process, it does not find
>> debugging info, despite compiling with -g flag (maybe a gdb setup
>> problem, nm does show symbols).
>>
>> When I try to use gprof for profiling (squid compiled with -pg),
>> squid.gmon contains only the initial configuration functions
>> profiling.  I stop squid with -k shutdown signal so it exits normally
>> (which is necessary to produce squid.gmon).
>
> Squid needs to be started with -N to prevent forking a child daemon that does all the actual work. The main process can then be traced.
>
> Amos
> --
> Please be using
>  Current Stable Squid 2.7.STABLE7 or 3.0.STABLE20
>  Current Beta Squid 3.1.0.15
Received on Sun Dec 06 2009 - 03:06:28 MST

This archive was generated by hypermail 2.2.0 : Sun Dec 06 2009 - 12:00:02 MST