Usually an
'out of memory' message means the SAS procedure needed more
system memory, but there was not enough memory available to run the job.
The amount of memory a SAS job can consume is limited by the MEMSIZE system
option. This option sets a limit to how big the SAS process can grow. To raise this limit, you can specify the MEMSIZE system option at SAS invocation or in the sasv9.cfg file.
The default MEMSIZE value for SAS® 9 in the UNIX environment is 128M, but most likely you will find that not all of
your processes can run to completion using that value. A more realistic MEMSIZE value for most processes is either
256M or 512M. However, some SAS procedures are memory-intensive, and you must increase the MEMSIZE value simply to enable the process to run to completion.
Note that setting a value for MEMSIZE does not allocate or reserve memory for your SAS process.
The memory must be available at the time your SAS process runs.
If you find it necessary to increase the value of MEMSIZE,
you should increase it in small increments,
such as 8M at a time, until you find an optimal value.
Keep in mind that UNIX is (usually) a shared environment, and that memory
is a shared resource.
If you are sorting data sets, either explicitly by using PROC SORT
or implicitly by using PROC SQL or another procedure that sorts
behind the scenes, you should consider also increasing the value of
the SORTSIZE option. The value of SORTSIZE should always be smaller
than the value set for MEMSIZE.
If you set the
MEMSIZE option to 0 or MAX on Windows, then the SAS process size will be
controlled by the operating system.
You should not set MEMSIZE to 0 or MAX on UNIX systems. Please see
Usage Note 10731
for guidelines on setting MEMSIZE and SORTSIZE on UNIX.
If you are not able to solve the problem by adjusting the value
of the MEMSIZE option, run the UNIX ulimit command using the
same userid to verify that your user limits have not been restricted
by your system administrator:
ulimit -a
Operating System and Release Information
| SAS System | Base SAS | 64-bit Enabled AIX | 9.1 TS1M3 SP4 | |
| Tru64 UNIX | 9.1 TS1M3 SP4 | |
| Solaris for x64 | 9.1 TS1M3 SP4 | |
| Linux on Itanium | 9.1 TS1M3 SP4 | |
| HP-UX IPF | 9.1 TS1M3 SP4 | |
| Linux | 9.1 TS1M3 SP4 | |
| 64-bit Enabled Solaris | 9.1 TS1M3 SP4 | |
| 64-bit Enabled HP-UX | 9.1 TS1M3 SP4 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.