home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Previous Section Next Section

MaxQueueChildren

Limit total concurrent queue processors V8.12 and later

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[40] 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):

[40] For the sake of simplicity, we presume in this example that the two queue groups have been internally assigned by sendmail to be two workgroups. We also presume that the Interval= for each is the same.

Table 24-21. Queue processing example

Queue group

1st run

2nd run

3rd run

4th run

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.

    Previous Section Next Section