无效的 ThreadStackSize 值 - Apache 错误
Posted
技术标签:
【中文标题】无效的 ThreadStackSize 值 - Apache 错误【英文标题】:Invalid ThreadStackSize value - Apache error 【发布时间】:2014-10-03 05:33:27 【问题描述】:当我的 Apache 服务器收到大量访问时,我收到以下错误:
[Sun Aug 10 00:27:52.496342 2014] [mpm_winnt:notice] [pid 7340:tid 284] AH00428:父进程:子进程 10028 退出,状态为 255 -- 正在重新启动。
AH00526:C:/apache/conf/extra/httpd-mpm.conf 的第 110 行出现语法错误:
ThreadStackSize 值无效:8388608
httpd-mpm.conf:
<IfModule mpm_winnt_module>
ThreadsPerChild 1000
MaxConnectionsPerChild 0
ThreadStackSize 8388608
</IfModule>
Apache 2.4.6 win64 VC11 update3
出现错误后,服务器会简单地关闭。已经用谷歌搜索了这个错误,我没有发现任何东西!
【问题讨论】:
【参考方案1】:您似乎在 httpd-mpm.conf 文件中为 ThreadStackSize
和 ThreadsPerChild
设置了不切实际的值。
您告诉 Apache 从 1000 个线程开始,每个线程的堆栈大小为 8MB。那是一个 8GB 的 Apache 进程!
您应该将ThreadPerChild
设置为一个合理的值,例如128,并注释掉ThreadStackSize
以便使用默认值,或者设置为2-4MB。
编辑:阅读 Apache 2.4.7 变更日志我发现了这个:
Fix: Potential rejection of valid MaxMemFree and ThreadStackSize directives
这也可能在这里发挥作用,因为您使用的是 Apache 2.4.6。
【讨论】:
以上是关于无效的 ThreadStackSize 值 - Apache 错误的主要内容,如果未能解决你的问题,请参考以下文章
从“A”类型的右值初始化“A&”类型的非常量引用无效[重复]