As described in Section 6.1, it is possible to get
into situations where too many sendmail
processes are processing queues. These queue processors are children
of the main sendmail process. Should too many
queue-processing children become a problem at your site, you can use
this MaxQueueChildren option to limit them.
The MaxQueueChildren option is declared like this:
O MaxQueueChildren=num configuration file (V8.12 and later)
-OMaxQueueChildren=num command line (V8.12 and later)
define(`confMAX_QUEUE_CHILDREN',`num') mc configuration (V8.12 and later)
Here, num is of type
numeric. If num is
negative, nonnumeric, or zero (the default), no limit is placed on
the number of queue-processing children that can simultaneously run.
If num is greater than zero, each time
sendmail is about to
fork(3) to create another queue-processing
child, it checks to make sure that there are not too many running. If
the number running is equal to or greater than the limit imposed by
num, sendmail skips
launching another one.
When you define queue groups (Section 11.4), you can
set up processors for each group with the Runners=
equate (Section 11.4.2.7). When this
MaxQueueChildren option is defined, it establishes
a limit on the total queue processors across all queue
groups—that is, for example, if you have two queue
groups and you define Runners=2 for each
group. If this MaxQueueChildren option is three,
the process shown in Table 24-21 will occur during
each queue run (where - means to skip the run, and
"run" means to perform the run):
Table 24-21. Queue processing example
group1
|
run
|
-
|
run
|
-
|
group2
|
-
|
run
|
-
|
run
|
The MaxQueueChildren option is not safe. If
specified from the command line, it can cause
sendmail to relinquish its special privileges.