ServerLimit 指令
| 描述: | 可配置进程数的上限 |
|---|---|
| 句法: | ServerLimit number |
| 默认: | See usage for details |
| 内容: | 服务器配置 |
| 状态: | MPM |
| 模组: | event,worker,prefork |
对于preforkMPM,此伪指令设置MaxRequestWorkersApache httpd进程生存期内的最大配置值。对于worker和event MPM,此伪指令与一起ThreadLimit设置MaxRequestWorkersApache httpd进程生存期内的最大配置值。对于eventMPM,此伪指令还定义了可以继续运行并完成打开的连接处理的旧服务器进程数。在重新启动期间更改此指令的任何尝试将被忽略,但MaxRequestWorkers可以在重新启动期间进行修改。
使用此指令时必须特别注意。如果ServerLimit将其设置为比必要值高得多的值,则会分配额外的未使用共享内存。如果将ServerLimit和MaxRequestWorkers都设置为高于系统可以处理的值,则Apache httpd可能无法启动,或者系统可能变得不稳定。
对于preforkMPM,仅当您需要设置MaxRequestWorkers大于256(默认值)时才使用此伪指令。请勿将此指令的值设置为高于您可能要设置的值MaxRequestWorkers。
使用worker,仅当您的MaxRequestWorkers 和ThreadsPerChild设置需要超过16个服务器进程时才使用此伪指令(默认)。不要设置该指令的任何比你可能想什么所需的服务器进程的数目更高的价值MaxRequestWorkers 和ThreadsPerChild。
随着event,增加该指令如果由你定义的流程数量MaxRequestWorkers和ThreadsPerChild设置,以及正常关闭进程的数量,超过16个服务器进程(默认)。
注意
ServerLimit 20000编译到服务器中有硬限制(对于preforkMPM 200000)。这样做是为了避免错别字造成的令人讨厌的影响。为了使其进一步超过此限制,您将需要修改mpm源文件中的MAX_SERVER_LIMIT的值并重建服务器。
参见
- 停止并重新启动Apache HTTP Server
