|
Here's my 2 cents,
I've seen this type of thing many times before, and it's always caused by something different. A few suspects do come to mind, the first being your php code. Check to see that there's no possible way for it to go into some kind of infinite loop.
These usually happen when poorly written code encounters something it didn't expect. It could be doing something super retarded, like 'select * from bullshit_table'.
Next on the list of suspects is your apache binary itself. You want to make sure that you compiled php and mysql in correctly. No outdated or broken libs or anything like that.
Last on the list is the possibility that these crawlers are doing HTTP/1.1 connections. By doing that, they connect to one single apache process and just hammer away at it. That, coupled with a small memory leak could lead to what you are describing.
The best way for you to debug this situation is to wait until you get one of these monsters and strace it. Just run strace -p <pid>, where pid would be 7156 in your example.
This situation is usually pretty bad, because when a box starts to swap, the whole site will soon come crashing down. As far as process control, there are a few ways to do it, but they are all a pain in the ass. It's usually easier to fix the source of the problem.
If you need any more help, ICQ me at: 348407599
hel0
|