无效的 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 文件中为 ThreadStackSizeThreadsPerChild 设置了不切实际的值。

您告诉 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 错误的主要内容,如果未能解决你的问题,请参考以下文章

C# 反射 设置字段值无效的解决办法

从“A”类型的右值初始化“A&”类型的非常量引用无效[重复]

python - 日志中遇到无效值

js配置下拉框默认值无效

C#:System.ArgumentException:DataGridViewComboBocCell值无效

什么是“oracle ORA-01722”无效数字?