Previous Page | Next Page

SAS System Options under Windows

MEMSIZE System Option: Windows

Specifies the limit on the amount of virtual memory that can be used during a SAS session.
Default: 0
Valid in: configuration file, SAS invocation
Category: System administration: Memory
Windows specifics: valid values



-MEMSIZE n | nK | nM | nG | nT |hexX | MAX

n | nK | nM | nG | nT

specifies the limit in bytes, kilobytes (1024 bytes), megabytes (1,048,576 bytes), gigabytes (1,073,741,824 bytes), or terabytes (1,099,511,627,776 bytes). For example, a value of 0.25G is equivalent to 268,435,456 bytes, and 16.5M is equivalent to 17,301,504 bytes.


specifies the amount of memory as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by hexadecimal characters (0-9, A-F), and then followed by an X. For example, 0F00000x sets the value of the MEMSIZE option to 15,728,640 bytes, which is equivalent to a value of 0x


specifies the largest reasonable value dependent on the amount of physical memory and paging space available at the time that SAS is started.


The MEMSIZE system option specifies the total amount of memory available to each SAS session. A value that is too low will result in out-of-memory conditions.

A numeric value of 0 (or 0x) is equivalent to the option value MAX.

If an unreasonably small numeric value is specified (for example 6K) the setting of the MEMSIZE option will be silently increased to a minimum reasonable value that will allow SAS to start and have basic functionality.

If a numeric value greater than 4,294,967,295 is specified on a 32-bit version of SAS, the setting of the value will be silently reduced to 4,294,967,295.

Numeric values greater than 9,223,372,036,854,775,807 bytes will be rejected as invalid, and will prevent SAS from starting.

SAS does not automatically reserve or allocate the amount of memory that you specify in the MEMSIZE system option. SAS will use only as much memory as it needs to complete a process. For example, a DATA step might require only 20M of memory, so even though MEMSIZE is set to 500M, SAS will use only 20M of memory.

While your SAS jobs are running, you can monitor the effect of larger memory settings by using system monitoring tools.

Note:   Setting MEMSIZE to MAX is reasonable only if consumers of large amounts of memory are not likely to become active after SAS has started. As an example, if multiple instances of SAS are running concurrently, and all of these instances are started with a MEMSIZE value of MAX, one or more of these instances can encounter out of memory conditions, or, the operating system can run out of available paging space.  [cautionend]

Previous Page | Next Page | Top of Page