[squid-users] Slowly rising CPU load (eventually hits 100)

squid at peralex.com squid at peralex.com
Thu Mar 31 13:53:50 UTC 2016


Hi,

I'm running:

Squid Cache: Version 3.5.15  (including patches up to revision 14000)

on FreeBSD 9.3-STABLE (recently updated)

Every week or so I run into a problem where squid's CPU usage starts
growing slowly, reaching 100% over the course of a day or so.  When
running normally its CPU usage is usually less than 5%.  Restarting
squid fixes the problem.

Memory usage is about 2 GBytes (on a system with 8 GBytes of RAM).

The number of socket connections (from clients and to servers) is about
the same (roughly 500) when I have the problem as when I don't have the
problem.

Attaching GDB and getting a stack trace while squid is stuck at 100%
generally gives me this:

#0  0x00000000005deef4 in mem_node::end ()
#1  0x00000000005df076 in mem_node::dataRange ()
#2  0x0000000000625d34 in mem_hdr::NodeCompare ()
#3  0x0000000000628ad1 in SplayNode<mem_node*>::splay<mem_node*> ()
#4  0x0000000000628b85 in Splay<mem_node*>::find<mem_node*> ()
#5  0x0000000000625f8e in mem_hdr::getBlockContainingLocation ()
#6  0x0000000000625ff8 in mem_hdr::hasContigousContentRange ()
#7  0x00000000005e00fe in MemObject::isContiguous ()
#8  0x0000000000649d05 in StoreEntry::mayStartSwapOut ()
#9  0x0000000000648b96 in StoreEntry::swapOut ()
#10 0x0000000000639e87 in StoreEntry::invokeHandlers ()
#11 0x0000000000633e09 in StoreEntry::write ()
#12 0x000000000079caa1 in Client::storeReplyBody ()
#13 0x000000000059c0bf in HttpStateData::writeReplyBody ()
#14 0x00000000005a18fd in HttpStateData::processReplyBody ()
#15 0x00000000005a41ce in HttpStateData::processReply ()
#16 0x00000000005a4408 in HttpStateData::readReply ()
#17 0x00000000005ab6df in JobDialer<HttpStateData>::dial ()
#18 0x00000000006fd81a in AsyncCall::make ()
#19 0x0000000000701bc6 in AsyncCallQueue::fireNext ()
#20 0x0000000000701ecf in AsyncCallQueue::fire ()
#21 0x0000000000566621 in EventLoop::dispatchCalls ()
#22 0x0000000000566930 in EventLoop::runOnce ()
#23 0x0000000000566b18 in EventLoop::run ()
#24 0x00000000005dbb73 in SquidMain ()
#25 0x00000000005dc0fd in SquidMainSafe ()
#26 0x00000000004cf401 in _start ()
#27 0x0000000800ae4000 in ?? ()
#28 0x0000000000000000 in ?? ()


The cache.log file gets a few lines looking like this:

2016/03/31 11:51:04 kid1| local=192.168.1.15:3128
remote=192.168.1.164:49540 FD 339 flags=1: read/write failure: (60)
Operation timed out

and some others looking like this:

2016/03/31 14:40:05 kid1|  FD 16, 192.168.1.15 [Stopped, reason:Listener
socket closed job3132772]: (53) Software caused connection abort


Does anybody have any suggestions on how to fix/improve this?  Currently
I have cron restarting squid every morning.

Should I file a bug?

Thanks
Mark



More information about the squid-users mailing list