views:

2267

answers:

4

Hi,

My server (ubuntu 8.04) LAMP running drupal 6, when there is high traffic, it stops serving pages. A restart of apache2 will not work, so I have to restart the service.

I found this message in the apache2 error.log

[notice] caught SIGWINCH, shutting down gracefully

Also I notice that the process id of the apache2, was around 12000 when apache stops responding.

thanks

Update

The caught SIGWINCH, as you point out, is a notice of the apache service restarting. I played around with the max clients and keep alive. I set the MaxClients too low so I got a "server reached MaxClients setting, consider raising the MaxClients setting" error, but fixed that.

Regarding the PID, my installation has prefork module installed, so after MaxRequestPerChild is reach, it recycles the child process. That is why the PID is rising periodically. Still haven't figured out why after a while apache stops responding.

In the mean time will try to rise the MaxRequestPerChild so the PID dosen't reach PID max that fast. Current limit is 32768 (which is standard for new debian and ubuntu installations).

Here is more from the log:

[Fri Apr 24 01:48:56 2009] [notice] caught SIGWINCH, shutting down gracefully

[Fri Apr 24 01:50:07 2009] [notice] Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.3 with Suhosin-Patch configured -- resuming normal operations

[Fri Apr 24 17:13:35 2009] [error] [client 195.70.62.131] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)

[Fri Apr 24 17:36:00 2009] [error] [client 212.188.33.4] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)

[Sat Apr 25 20:05:07 2009] [error] [client 84.243.222.12] Invalid URI in request GET HTTP/1.1 HTTP/1.1

[Sat Apr 25 20:05:12 2009] [error] [client 84.243.222.12] script not found or unable to stat: /usr/lib/cgi-bin/twiki

[Sat Apr 25 20:05:12 2009] [error] [client 84.243.222.12] script not found or unable to stat: /usr/lib/cgi-bin/wiki

[Sat Apr 25 20:05:12 2009] [error] [client 84.243.222.12] script not found or unable to stat: /usr/lib/cgi-bin/wikis

[Sat Apr 25 21:46:46 2009] [error] [client 211.68.23.167] Invalid URI in request GET HTTP/1.1 HTTP/1.1

[Sun Apr 26 06:13:47 2009] [error] [client 86.39.154.89] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)

[Sun Apr 26 06:53:07 2009] [notice] Graceful restart requested, doing restart

A: 

uh? if I remember correctly, SIGWINCH is a signal that get sent to a terminal application when the size of the terminal window changes (so that the application can resize itself). Typically used by ncurses applications.

This is very strange. Does this info gives you additional hints ?

Stefano Borini
Well 10 seconds after the "[notice] caught SIGWINCH, shutting down gracefully. There is a "[notice] Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.3 with Suhosin-Patch configured -- resuming normal operations"
Geries
+1  A: 

Someone seems to have had this problem with solution: http://www.phwinfo.com/forum/alt-apache-configuration/341728-apache-repeatedly-unavailable-sigwinch-issue.html

FGM
It looks to me like Apache abuses the SIGWINCH signal to force a graceful restart.
bart
@bart: That's... odd. Apache's is documented as using SIGUSR1 for that.
R. Bemrose
+3  A: 

Well, SIGWINCH is used in some situations when starting and stopping Apache on Ubuntu. If I do sudo apache2ctl graceful-stop on my Ubuntu 8.10 server, I get this in my log:

[Fri Apr 24 22:41:15 2009] [notice] caught SIGWINCH, shutting down gracefully

As I remember it, SIGWINCH is also used by some services that need to restart Apache when rotating logs, nightly jobs, etc.

That doesn't explain the problem you're currently having, but I think it might be something else running on your server that's restarting Apache – or it might not be related to your problem at all.

Try posting more of the logfile if you can, it'll be a lot easier to analyse :)

mikl
Yeah your right on the sigwinch, added more on the log. Thanks.
Geries
Well, there's nothing in that log dump to indicate what the real problem is.How's your memory status look when the problem occurs? The tweaking of MaxClients can be tricky – if you set it to high, Apache will eat all available memory and go into complete deadlock.Also, what Apache module do you have enabled?
mikl
I have 1GB memory and there like 600MB free when the problem occurs. The enabled modules are rewrite, php5, mime and cgi. Maybe Apache is not the problem, I will try to install of Debian a move the site there, sometimes is "cheaper" just to start with a clean sleeve.Thanks
Geries
Okay, good luck with your efforts :)
mikl
+1  A: 

On Apache, SIGWINCH is the Graceful Stop signal. Note that this is different than SIGUSR1, which is the Graceful Restart signal.

Unfortunately, we need more information to tell you why Apache is gracefully stopping.

R. Bemrose