Previous Page | Next Page

SAS System Options

BUFNO= System Option

Specifies the number of buffers to be allocated for processing SAS data sets.
Valid in: configuration file, SAS invocation, OPTIONS statement, SAS System Options window
Category: Files: SAS Files
System administration: Performance
See: BUFNO= System Option under Windows UNIX OpenVMS

Syntax Description
See Also


BUFNO=n | nK | nM | nG | nT | hexX | MIN | MAX

Syntax Description

n | nK | nM | nG | nT

specifies the number of buffers to be allocated in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.

Tip: Use the notation that best fits the memory size of your system.

specifies the number of buffers as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx specifies 45 buffers.


sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.


sets the number of buffers to the maximum possible number in your operating environment, up to the largest four-byte, signed integer which is 231-1, or approximately 2 billion.


The number of buffers is not a permanent attribute of the data set; it is valid only for the current SAS session or job.

BUFNO= applies to SAS data sets that are opened for input, output, or update.

Using BUFNO= can improve execution time by limiting the number of input/output operations that are required for a particular SAS data set. The improvement in execution time, however, comes at the expense of increased memory consumption.

You can estimate the number of buffers you need from the data set page size and the amount of memory in your system. The data set page size can be specified by the BUFSIZE= system option or by the BUFSIZE= data set option. If the default is used, SAS uses the minimal optimal page size for the operating environment. You can find the page size for a data set in the output of the CONTENTS procedure. Once you have the data set page size and the amount of memory available, you can estimate the number of buffers you need. If the number of buffers is too large, SAS might not have enough memory to process the DATA or PROC step. You can change the page size for a data set by recreating the data set using the BUFSIZE= data set option.

Operating Environment Information:   Under the Window operating environment, if the SGIO system option is set, the maximum number of bytes that can be processed in an I/O operation is 64MB. Therefore, number-of-buffers x page-size <= 64MB.  [cautionend]

Operating Environment Information:   The syntax that is shown here applies to the OPTIONS statement. On the command line or in a configuration file, the syntax is specific to your operating environment. For details, see the SAS documentation for your operating environment.  [cautionend]


See Also

Data Set Option:

BUFNO= Data Set Option

System Option:

BUFSIZE= System Option


SASFILE Statement


The Contents Procedure

Previous Page | Next Page | Top of Page