On 16/05/2013 4:32 p.m., Loïc BLOT wrote:
The kdump doesn't show any sign of infinite loop, but squid 100% CPU
(instead of normal CPU usage ~5-15%) and the denial of service caused
(squid is unavailable when it uses 100% CPU or very very slow), reminds
me of an infinite loop under a thread.
The kdump is done when squid hangs, then it seems all works fine, very
strange... Anyway kdump file grows in size in the time when this event
happened.
"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