Hi amos, two precisions:
in MT, an infinite loop can be only on one thread and affect only
performance of other threads and block the "infinite looped" thread. I
don't know if squid is MT, but i think --with-pthread have an interest.
My squid doesn't use disk cache (you have all my configuration in the
first thread of this topic). Then looking directory isn't possible,
swapping to and from disk is also impossible for this reason but also
because my server have 16GB RAM and squid max mem_cache is at 6800MB (an
my OpenBSD router uses only 200MB ram).
Le 2013-05-16 07:11, Amos Jeffries a écrit :
"infinite loop" is exactly that ... infinite. As in: a code loop which
*never* ends.
What you are describing is simply a program which is suddenly given a
LOT of processing to do. Such as scanning a large cache directory full
of very smal objects, swapping all of its memory to or from disk,
performing a huge number of memory seeks to find something, or any
number of other operations which consume CPU time.
What can be done to remove the CPU load depends on what the cause is.
As Alex said kdump is not helpful (it only tells you what *kernel*
calls are doing at the time), but looking at the Squid events queue
for things which are schedued to happen about the time of the problem
will give clues, as will looking at things like what client requests
are underway at the time.
Amos