It is possible to buffer df files in
memory 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
DataFileBufferSize option. It is
declared like this:
O DataFileBufferSize=size ← configuration file (V8.10 and later) -ODataFileBufferSize=size ← command line (V8.10 and later) define(`confDF_BUFFER_SIZE',size)← mc configuration (V8.10 and later)
size is of type
size is less than
or equal to zero, no buffering is performed (all
df files are immediately placed on disk 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.
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 4096 bytes.
DataFileBufferSize option is not safe. If
specified from the command line, it can cause
sendmail to relinquish its special ...