gpt4 book ai didi

ubuntu - Apache 2 中的 "caught SIGWINCH"错误是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 16:41:46 24 4
gpt4 key购买 nike

我的服务器(ubuntu 8.04)LAMP 运行 drupal 6,当流量很高时,它停止提供页面。重新启动 apache2 将不起作用,因此我必须重新启动该服务。

我在 apache2 error.log 中发现了这条消息

[notice] caught SIGWINCH, shutting down gracefully

我还注意到当 apache 停止响应时,apache2 的进程 ID 大约为 12000。

更新

如您所指出的,捕获的 SIGWINCH 是 apache 服务重新启动的通知。我和最大的客户一起玩耍并保持活力。我将 MaxClients 设置得太低,所以出现“服务器已达到 MaxClients 设置,请考虑提高 MaxClients 设置”错误,但已修复该错误。

关于 PID,我的安装有 prefork module安装,所以在MaxRequestPerChild之后达到,它回收子进程。这就是 PID 周期性上升的原因。仍然没有弄清楚为什么一段时间后 apache 停止响应。

与此同时,将尝试提高 MaxRequestPerChild,这样 PID 就不会那么快达到 PID 最大值。当前限制为 32768(这是新的 debian 和 ubuntu 安装的标准)。

这是日志中的更多内容:

[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

最佳答案

SIGWINCH

事实上,@Stefano 是对的:SIGWINCH 表示 SIGNAL WINDOWS CHANGE,当终端检测到其窗口大小发生变化以允许重绘时自动发送。

用于 apache2 的 SIGWINCH

但不幸的是 apache2 进程滥用此信号(以转移其第一个含义的方式),但为了他们的防御,他们似乎别无选择,并且由于信号不足(参见 bug report)。他们的假设之一是 apache2 进程始终在后台运行。所以@mikl 也完全正确。

那么,要检查什么?

  • 任何自动重启 apache2 的理由(cron 服务、相关服务的 apt-get 安装...)
  • 否则,您是否在开放的 tty 中在前台运行 apache2?如果是,则不推荐这样做(唉),并且在调整控制终端的大小时,您可能会很容易地很容易地遇到此 SIGWINCH 正常关闭。

关于ubuntu - Apache 2 中的 "caught SIGWINCH"错误是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/780853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com