首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Apache2.4.37重新加载导致错误“记分板已满,而不是在MaxRequestWorkers.Increase ServerLimit。”

Apache2.4.37重新加载导致错误“记分板已满,而不是在MaxRequestWorkers.Increase ServerLimit。”
EN

Server Fault用户
提问于 2021-03-29 11:08:06
回答 1查看 3.1K关注 0票数 2

我正在使用Apache2.4.37运行CentOS 8。

日志旋转每天一次,通过执行优雅的重新启动(重新加载)来旋转Apache日志:

代码语言:javascript
运行
复制
[mpm_event:notice] [pid 1413:tid 140292271810880] AH00493: SIGUSR1 received.  Doing graceful restart
[lbmethod_heartbeat:notice] [pid 1413:tid 140292271810880] AH02282: No slotmem from mod_heartmonitor
[mpm_event:notice] [pid 1413:tid 140292271810880] AH00489: Apache/2.4.37 (centos) OpenSSL/1.1.1g configured -- resuming normal operations
[core:notice] [pid 1413:tid 140292271810880] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'

在此重新加载之后,我立即看到以下错误填充了我的Apache错误日志:

代码语言:javascript
运行
复制
[mpm_event:error] [pid 1413:tid 140292271810880] AH03490: scoreboard is full, not at MaxRequestWorkers.Increase ServerLimit.

然后服务器变得没有响应能力,它继续记录上面的错误,在我手动重新启动Apache进程之前不会再次工作。

我假设有一些进程需要时间才能完成,并且服务器在重新加载操作期间耗尽了工作进程。由于某些原因,这导致它挂起,无法自行恢复。但是,Apache日志确实会被旋转,所以我相信至少有一部分重新加载操作是成功的。

我没有尝试对MPM事件配置设置做任何调整--主要是因为我不确定ServerLimit的设置是“正确的”,而且任何猜测都是暗箱操作。

考虑到这个问题似乎只发生在一个优雅的重新装载过程中,有人能提出解决这个问题的方法吗?

是否有其他方法可以避免服务器挂起,或者是否有必要像错误提示的那样增加ServerLimit?

我对这个问题的研究带来了许多关于与MPM事件模式相关的旧Apache错误的结果,但是我的Apache版本不应该受到这个特定bug的影响。

非常感谢您的指导。

EN

回答 1

Server Fault用户

发布于 2021-08-06 19:54:24

在这里没有收到任何回复后,我在Apache用户邮件列表中提到了这个问题。他们建议对活动MPM增加一些限制。我现在正在使用以下设置,但问题尚未再次发生:

代码语言:javascript
运行
复制
<IfModule mpm_event_module>
   LoadModule cgid_module modules/mod_cgid.so
   ServerLimit 48
   ThreadsPerChild 25
   MaxRequestWorkers 800
</IfModule>

他们特别提到,ServerLimit应该比我以前设置的(32)更高,这样Apache就有了一些空间。从文档中我不清楚这是必要的。但它似乎起了作用。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1058677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档