DataFileBufferSize

Buffered I/O df size V8.10 and later

It is possible to buffer df files in memory[373] and not flush those files to disk until they exceed a specified size, or until they are required to be placed on stable storage by the standards. That maximum buffered size is specified with this DataFileBufferSize option. It is declared like this:

O DataFileBufferSize=sizeconfiguration file (V8.10 and later)
-ODataFileBufferSize=sizecommand line (V8.10 and later)
define(`confDF_BUFFER_SIZE',size)          ← mc configuration (V8.10 and later)

Here, size is of type numeric. If size is less than or equal to zero, no buffering is performed (all df files are immediately placed on disk when opened). When size is greater than zero, all df files are held in memory (not placed on disk when opened) until closed, until the amount of data buffered exceeds size, or until they are required to be placed on stable storage by the standards. Only then is the file created and placed on disk.

Buffered file I/O is beneficial when high rates of outbound mail are desired because disk I/O is generally very expensive.

If the DataFileBufferSize option is not declared, the default for the mc configuration file is to omit this option. If the size is omitted, the default becomes 4,096 bytes.

See also the SuperSafe option (SuperSafe on page 1096) and the ${opMode} macro (${opMode} on page 839) as they can interact with this option.

The DataFileBufferSize option is not safe. If specified from the command line, it can ...

Get sendmail, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.