BUFSIZE= Data Set Option: z/OS

Specifies the size of a permanent buffer page for an output SAS data set.
Valid in: DATA step, PROC steps
Category: Data Set Control
Default: The value of the BUFSIZE= system option
Restriction: Use with output data sets only
z/OS specifics: Default value, valid values
See: BUFSIZE= Data Set Option in SAS Data Set Options: Reference

Syntax

BUFSIZE=0 | n | nK

Required Arguments

0
specifies that SAS chooses the optimal page size of the data set based on the characteristics of the library and the type of data set.
n | nK
specifies the permanent buffer size (page size) in bytes or kilobytes, respectively. For libraries other than UFS, the value specified is rounded up to the block size (BLKSIZE) of the library data set, because a block is the smallest unit of a data set that can be transferred in a single I/O operation.

Details

The page size is the amount of data that can be transferred for a single I/O operation to one buffer. A page is the number of bytes of data that SAS moves between external storage and memory in one logical I/O operation.
On z/OS, when BUFSIZE=0, SAS usually sets the member page size for output SAS data sets equal to the number of blocks that would fit on one track of the z/OS disk device. This page size tends to favor sequential processing by assuming that the entire track is needed, and that it is read in multiple, consecutive blocks.
However, to improve performance for random (direct) access, the smallest possible buffer size is best. The minimum page size that you can specify depends on the type of library, as shown in the following table:
Minimum Page Sizes for SAS Libraries
Type of Library
Minimum Page Size
direct access bound library
BLKSIZE of library data set
UFS library
4K
hiperspace library
4K