Add Apache process limit directive help

This commit is contained in:
Ilia Ross
2026-06-21 23:25:15 +02:00
parent 57d650cf9f
commit f5bf2be07b
16 changed files with 108 additions and 14 deletions
+11 -8
View File
@@ -253,7 +253,8 @@ return &parse_opt("ThreadsPerChild", '^\d+$',
sub edit_RLimitCPU sub edit_RLimitCPU
{ {
return &rlimit_input("RLimitCPU", $text{'core_cpulimit'}, $_[0]); return &rlimit_input("RLimitCPU",
&hlink($text{'core_cpulimit'}, "RLimitCPU"), $_[0]);
} }
sub save_RLimitCPU sub save_RLimitCPU
{ {
@@ -262,7 +263,8 @@ return &parse_rlimit("RLimitCPU", $text{'core_cpulimit2'});
sub edit_RLimitMEM sub edit_RLimitMEM
{ {
return &rlimit_input("RLimitMEM", $text{'core_memlimit'}, $_[0]); return &rlimit_input("RLimitMEM",
&hlink($text{'core_memlimit'}, "RLimitMEM"), $_[0]);
} }
sub save_RLimitMEM sub save_RLimitMEM
{ {
@@ -271,7 +273,8 @@ return &parse_rlimit("RLimitMEM", $text{'core_memlimit2'});
sub edit_RLimitNPROC sub edit_RLimitNPROC
{ {
return &rlimit_input("RLimitNPROC", $text{'core_proclimit'}, $_[0]); return &rlimit_input("RLimitNPROC",
&hlink($text{'core_proclimit'}, "RLimitNPROC"), $_[0]);
} }
sub save_RLimitNPROC sub save_RLimitNPROC
{ {
@@ -1353,7 +1356,7 @@ return &parse_opt("LockFile", '^\S+', $text{'core_elock'});
sub edit_LimitRequestBody sub edit_LimitRequestBody
{ {
return (1, $text{'core_maxbody'}, return (1, &hlink($text{'core_maxbody'}, "LimitRequestBody"),
&opt_input($_[0]->{'value'}, "LimitRequestBody", $text{'core_default'}, 8) &opt_input($_[0]->{'value'}, "LimitRequestBody", $text{'core_default'}, 8)
.&ui_space(2).$text{'bytes'}); .&ui_space(2).$text{'bytes'});
} }
@@ -1364,7 +1367,7 @@ return &parse_opt("LimitRequestBody", '^\d+$', $text{'core_ebody'});
sub edit_LimitXMLRequestBody sub edit_LimitXMLRequestBody
{ {
return (1, $text{'core_maxxml'}, return (1, &hlink($text{'core_maxxml'}, "LimitXMLRequestBody"),
&opt_input($_[0]->{'value'}, "LimitXMLRequestBody", &opt_input($_[0]->{'value'}, "LimitXMLRequestBody",
$text{'core_default'}, 8).&ui_space(2).$text{'bytes'}); $text{'core_default'}, 8).&ui_space(2).$text{'bytes'});
} }
@@ -1377,7 +1380,7 @@ return &parse_opt("LimitXMLRequestBody", '^\d+$', $text{'core_exml'});
sub edit_LimitRequestFields sub edit_LimitRequestFields
{ {
return (1, $text{'core_maxhead'}, return (1, &hlink($text{'core_maxhead'}, "LimitRequestFields"),
&opt_input($_[0]->{'value'}, "LimitRequestFields", $text{'core_default'}, 6)); &opt_input($_[0]->{'value'}, "LimitRequestFields", $text{'core_default'}, 6));
} }
sub save_LimitRequestFields sub save_LimitRequestFields
@@ -1387,7 +1390,7 @@ return &parse_opt("LimitRequestFields", '^\d+$', $text{'core_ehead'});
sub edit_LimitRequestFieldsize sub edit_LimitRequestFieldsize
{ {
return (1, $text{'core_maxshead'}, return (1, &hlink($text{'core_maxshead'}, "LimitRequestFieldsize"),
&opt_input($_[0]->{'value'}, "LimitRequestFieldsize", $text{'core_default'}, 6)); &opt_input($_[0]->{'value'}, "LimitRequestFieldsize", $text{'core_default'}, 6));
} }
sub save_LimitRequestFieldsize sub save_LimitRequestFieldsize
@@ -1397,7 +1400,7 @@ return &parse_opt("LimitRequestFieldsize", '^\d+$', $text{'core_eshead'});
sub edit_LimitRequestLine sub edit_LimitRequestLine
{ {
return (1, $text{'core_maxline'}, return (1, &hlink($text{'core_maxline'}, "LimitRequestLine"),
&opt_input($_[0]->{'value'}, "LimitRequestLine", $text{'core_default'}, 6)); &opt_input($_[0]->{'value'}, "LimitRequestLine", $text{'core_default'}, 6));
} }
sub save_LimitRequestLine sub save_LimitRequestLine
+7
View File
@@ -0,0 +1,7 @@
<header>Tie virtual to child process</header>
The <tt>AssignUserId</tt> directive assigns a virtual host to a child process
running with the selected user ID and group ID for the legacy perchild MPM.
<p>
This directive is only available for Apache versions and MPMs that support
perchild.
<p><footer>
+7
View File
@@ -0,0 +1,7 @@
<header>Child process UID assignments</header>
The <tt>ChildPerUserId</tt> directive defines how many child processes should
run for a selected user ID and group ID in the legacy perchild MPM.
<p>
This directive is only available for Apache versions and MPMs that support
perchild.
<p><footer>
+7
View File
@@ -0,0 +1,7 @@
<header>Maximum request body size</header>
The <tt>LimitRequestBody</tt> directive sets the maximum allowed size of an HTTP
request body in bytes.
<p>
This can be used to limit upload or form submission size for the server,
virtual host, directory, or location where the directive is applied.
<p><footer>
+7
View File
@@ -0,0 +1,7 @@
<header>Maximum headers in request</header>
The <tt>LimitRequestFields</tt> directive sets the maximum number of HTTP
request header fields that Apache will accept.
<p>
Lowering this limit can reduce exposure to unusually large requests, but values
that are too low can reject legitimate clients.
<p><footer>
+7
View File
@@ -0,0 +1,7 @@
<header>Maximum request header size</header>
The <tt>LimitRequestFieldSize</tt> directive sets the maximum size of each HTTP
request header field in bytes.
<p>
Lowering this limit can reject oversized request headers, but values that are
too low can break clients that send larger cookies or authorization headers.
<p><footer>
+7
View File
@@ -0,0 +1,7 @@
<header>Maximum request line size</header>
The <tt>LimitRequestLine</tt> directive sets the maximum size of the HTTP
request line in bytes.
<p>
This line contains the method, requested URI, and HTTP protocol version. Values
that are too low can reject legitimate long URLs.
<p><footer>
+6
View File
@@ -0,0 +1,6 @@
<header>Maximum XML request body size</header>
The <tt>LimitXMLRequestBody</tt> directive sets the maximum allowed size of an
XML request body in bytes.
<p>
It is mainly used by modules that parse XML request bodies, such as WebDAV.
<p><footer>
+6
View File
@@ -0,0 +1,6 @@
<header>Maximum threads per child process</header>
The <tt>MaxThreadsPerChild</tt> directive sets the maximum number of worker
threads allowed in each child process for the legacy perchild MPM.
<p>
This directive only appears for Apache versions and MPMs that support perchild.
<p><footer>
+6
View File
@@ -0,0 +1,6 @@
<header>Number of child processes</header>
The <tt>NumServers</tt> directive sets the number of child server processes for
the legacy perchild MPM.
<p>
This directive only appears for Apache versions and MPMs that support perchild.
<p><footer>
+8
View File
@@ -0,0 +1,8 @@
<header>CPU resource limit</header>
The <tt>RLimitCPU</tt> directive sets a CPU time resource limit for processes
started by Apache in this context, such as CGI programs where supported by the
operating system.
<p>
The soft limit is applied first. If a hard limit is also set, it is the maximum
value that the process can raise the soft limit to.
<p><footer>
+8
View File
@@ -0,0 +1,8 @@
<header>Memory resource limit</header>
The <tt>RLimitMEM</tt> directive sets a memory resource limit for processes
started by Apache in this context, such as CGI programs where supported by the
operating system.
<p>
The soft limit is applied first. If a hard limit is also set, it is the maximum
value that the process can raise the soft limit to.
<p><footer>
+8
View File
@@ -0,0 +1,8 @@
<header>Process limit</header>
The <tt>RLimitNPROC</tt> directive sets a process count resource limit for
processes started by Apache in this context, such as CGI programs where
supported by the operating system.
<p>
The soft limit is applied first. If a hard limit is also set, it is the maximum
value that the process can raise the soft limit to.
<p><footer>
+7
View File
@@ -0,0 +1,7 @@
<header>Initial threads per child process</header>
The <tt>StartThreads</tt> directive sets how many worker threads are created at
startup for legacy threaded MPMs that support this directive.
<p>
Apache may adjust the number of running workers after startup based on traffic
and the configured spare thread limits.
<p><footer>
+1 -1
View File
@@ -42,7 +42,7 @@ return &parse_opt("MaxSpareThreads", '^\d+$',
sub edit_StartThreads sub edit_StartThreads
{ {
return (1, return (1,
$text{'perchild_sthreads'}, &hlink($text{'perchild_sthreads'}, "StartThreads"),
&opt_input($_[0]->{'value'},"StartThreads",$text{'default'}, 4)); &opt_input($_[0]->{'value'},"StartThreads",$text{'default'}, 4));
} }
sub save_StartThreads sub save_StartThreads
+5 -5
View File
@@ -35,7 +35,7 @@ $rv .= sprintf "<input type=radio name=AssignUserId_def value=0 %s>\n",
$rv .= &text('perchild_assignug', $rv .= &text('perchild_assignug',
"<input name=AssignUserId_uid size=8 value='$_[0]->{'words'}->[0]'>", "<input name=AssignUserId_uid size=8 value='$_[0]->{'words'}->[0]'>",
"<input name=AssignUserId_gid size=8 value='$_[0]->{'words'}->[1]'>"); "<input name=AssignUserId_gid size=8 value='$_[0]->{'words'}->[1]'>");
return (2, $text{'perchild_assign'}, $rv); return (2, &hlink($text{'perchild_assign'}, "AssignUserId"), $rv);
} }
sub save_AssignUserId sub save_AssignUserId
{ {
@@ -66,7 +66,7 @@ foreach $c (@{$_[0]}, undef) {
$i++; $i++;
} }
$rv .= "</table>\n"; $rv .= "</table>\n";
return (2, $text{'perchild_child'}, $rv); return (2, &hlink($text{'perchild_child'}, "ChildPerUserId"), $rv);
} }
sub save_ChildPerUserId sub save_ChildPerUserId
{ {
@@ -112,7 +112,7 @@ return &parse_opt("MaxSpareThreads", '^\d+$',
sub edit_StartThreads sub edit_StartThreads
{ {
return (1, return (1,
$text{'perchild_sthreads'}, &hlink($text{'perchild_sthreads'}, "StartThreads"),
&opt_input($_[0]->{'value'},"StartThreads",$text{'default'}, 4)); &opt_input($_[0]->{'value'},"StartThreads",$text{'default'}, 4));
} }
sub save_StartThreads sub save_StartThreads
@@ -124,7 +124,7 @@ return &parse_opt("StartThreads", '^\d+$',
sub edit_NumServers sub edit_NumServers
{ {
return (1, return (1,
$text{'perchild_numservers'}, &hlink($text{'perchild_numservers'}, "NumServers"),
&opt_input($_[0]->{'value'},"NumServers",$text{'default'}, 4)); &opt_input($_[0]->{'value'},"NumServers",$text{'default'}, 4));
} }
sub save_NumServers sub save_NumServers
@@ -136,7 +136,7 @@ return &parse_opt("NumServers", '^\d+$',
sub edit_MaxThreadsPerChild sub edit_MaxThreadsPerChild
{ {
return (1, return (1,
$text{'perchild_maxthreads'}, &hlink($text{'perchild_maxthreads'}, "MaxThreadsPerChild"),
&opt_input($_[0]->{'value'},"MaxThreadsPerChild",$text{'default'}, 4)); &opt_input($_[0]->{'value'},"MaxThreadsPerChild",$text{'default'}, 4));
} }
sub save_MaxThreadsPerChild sub save_MaxThreadsPerChild