skip to Main Content

Memory-Based Libraries an Overview Part I

Extended memory is defined as memory greater than 4 GB RAM which is available for use by applications, hence usable to support memory-based libraries.

Conventional memory is defined as the memory that is below 4 GB in 32-bit environments and all of the memory in 64-bit environments.

Using the MEMLIB and MEMCACHE options, you can create memory-based SAS libraries. Depending on your operating environment, extended memory or conventional memory is used to support these memory-based libraries.

Using memory-based libraries reduces I/O to and from disk, improving SAS performance. Memory-based libraries can be used in several ways:

  • Storage for the Work library
  • High volume input and output SAS libraries processing
  • Large SAS libraries cache

After operating system setup is complete for the SAS platform, MEMLIB and MEMCACHE system options and the MEMLIB option in the LIBNAME statement are available to access memory-based libraries.

In Windows operating environments, 32-bit processing uses 2 GB of physical memory for the operating environment, and the remaining 2 GB of physical memory is available for use by applications.

Some Windows operating environments do not support extended memory. In operating environments where extended memory is not supported or installed, SAS uses conventional memory to support the MEMLIB and MEMCACHE options.

Setup MEMLIB and MEMCACHE Options in 64-Bit Windows Environments

Following are the OS requirements to use the MEMLIB and MEMCACHE options:

  1. Intel 64-bit processor or 64-bit processor that is compatible with Intel.
  2. 64-bit Windows.
  3. 4 GB of RAM or more;  8 GB RAM plus is highly recommended for better performance, and
  4. SAS 9.4 for Windows.

Note that Windows  64 OS 16 TB of virtual address space removing need for  extended memory. SAS uses the available conventional memory to support the MEMLIB and MEMCACHE options.

Tasks

It is possible to exhaust system memory and thus cause system failure. You can use the MEMMAXSZ option to limit the amount of system memory that SAS allocates for the MEMLIB and MEMCACHE options.

  • Use system options MEMMAXSZ to set the total amount of memory for memory-based libraries and MEMBLKSIZE for memory-based libraries’ memory block size

MEMMAXSZ System Option: Windows

Specifies the maximum amount of memory to allocate for using memory-based libraries in Windows operating environments

Valid in:configuration file, SAS invocation
Category:System Administration: Memory
PROC OPTIONS GROUP=MEMORY
Default:2G
Windows specifics:all

MEMBLKSZ System Option: Windows

Specifies the memory block size for memory-based libraries for Windows operating environments.

Valid in:configuration file, SAS invocation
Category:System Administration: Memory
PROC OPTIONS GROUP=MEMORY
Default:16M
Windows specifics:all

Part II: Processing SAS Libraries as Memory-Based Libraries

Back To Top