Several SAS system options can help you reduce the number
of disk accesses needed for SAS files and, therefore, enhance system performance.
The SAS system options listed here are valid for all operating environments.
In addition, options that are host specific are documented in the subsequent
host-specific sections.
Some of the options also have host-specific values,
which are described in the "Setting SAS System Performance Options"
section for each operating environment.
From a SAS session, run PROC OPTIONS to find the default
settings for SAS system options on your system.
-
BUFNO=n | nK | nM | nG | MAX | MIN | hexX
-
specifies the
number of
buffers to use for SAS data sets. The number of buffers is not a permanent
attribute of the data set, and it is valid only for the current SAS session
or job. The BUFNO= option applies to SAS data sets opened for input, output,
or update. If the number of buffers is 0, SAS uses the operating environment
default values.
Using the BUFNO= option can speed up execution time
by limiting the number of I/O operations required for a particular SAS data
set. The improvement in execution time, however, comes at the expense of increased
memory consumption. For SAS/SHARE, setting the BUFNO= option too high may
hurt performance by using too much memory because SAS/SHARE may be accessing
multiple files at once.
You can use the following values with the BUFNO= option:
- n | nK | nM |
nG
- specifies the number of buffers in the form of n multiplier, where the value of each multiplier is 1; 1,024; 1,048,576; and 1,073,741,824,
respectively. For example, a value of 8 specifies 8 buffers; a value of 4K
specifies 4,096 buffers; and a value of 3M specifies 3,145,728 buffers.
- MAX
- sets the number of buffers to the largest signed, 4-byte
integer that can be represented in your operating environment.
- MIN
- sets the number of buffers to 0, and requires SAS to use
a default value.
- hexX
- specifies the number of buffers as a hexadecimal number
that must be followed by an X.
-
BUFSIZE=n | nK | nM | nG | MAX | MIN | hexX
-
specifies the permanent buffer size
for an output SAS data set. If the number of bytes is greater than 0 when
a SAS data set is created, that number is used as the default value for the
BUFSIZE= data set option. If the BUFSIZE= data set option is omitted and the
number of bytes for the BUFSIZE= system option is 0, SAS chooses an operating
environment default value that is optimal for the SAS data set.
Using the BUFSIZE= option can speed up execution time
by limiting the number of I/O operations required for a particular SAS data
set. However, the improvement in execution time comes at the expense of increased
memory consumption. For SAS/SHARE, setting the BUFSIZE= option too high may
hurt performance by using too much memory because SAS/SHARE may be accessing
multiple files at once.
You may want to vary the value of the BUFSIZE= option
if you are trying to maximize memory usage or the number of observations per
page.
- n | nK | nM | nG
- specifies the permanent buffer size in bytes, kilobytes,
megabytes, or gigabytes, respectively.
- CATCACHE=
- specifies the number of SAS catalogs to
keep open. Use the CATCACHE= option to tune an application by avoiding the
overhead of repeatedly opening and closing the same SAS catalogs. Typically,
you should leave this option set to 0. Increasing its value can use up memory.
You may use the following values for the CATCACHE= option:
- n | nK | nM | nG
- specifies any integer greater than or equal to 0 in bytes,
kilobytes, megabytes, or gigabytes, respectively. If n>0, SAS
places up to that number of open-file descriptors in cache memory instead
of closing the catalogs.
- MAX
- sets the number of open-file descriptors kept in cache memory
to the largest signed, 4-byte integer that can be represented in your operating
environment.
- MIN
- sets the number of open-file descriptors kept in cache memory
to 0.
- hexX
- specifies the number of open-file descriptors kept in cache
memory as a hexadecimal number. This number must be followed by an X.
-
COMPRESS=YES | NO
-
controls the compression
of observations in output SAS data sets. Compressing a data set reduces the
size of the data set by reducing repeated consecutive characters to two- or
three-byte representations. Compression of observations is not supported by
all engines. To uncompress observations, use a DATA step to copy data and
specify COMPRESS=NO for the new data set.
The advantages gained by using the COMPRESS= option
include:
- reduced storage requirements for the data set
- fewer I/O operations necessary to read from or
write to the data set during processing
You can use the following values with the COMPRESS=
option:
- YES
- specifies that observations in a newly created
SAS output data set are compressed (variable length records).
- NO
- specifies that observations in a newly created
SAS output data set are uncompressed (fixed length records).
A typical SAS configuration file
follows:
bufno=1
bufsize=65024
catcache=0
compress=YES
See SAS Language Reference: Dictionary for more information about these SAS system
options.
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.