The following list identifies
some of the options that SAS provides for managing memory:
-
You can use the TABLEMEM= option
to specify a threshold for physical memory utilization.
-
You can use the EXTERNALMEM= option
to specify a threshold for memory utilization for SAS High-Performance
Analytics procedures.
By default, whenever the amount of
physical memory in use rises above 75% of the total memory available
on a node of a distributed server, adding tables (including temporary
ones), appending rows, or any other operation that consumes memory
for storing data fails.
If the machine has already
crossed the threshold, your requests to add data are immediately rejected.
If you attempt to add a table and the server crosses the threshold
as the data is added, the server removes the table that you attempted
to add and frees the memory. Similarly, if you attempt to append rows
and the server crosses the threshold during the request, the entire
append request fails. The table remains as it was before the append
was attempted.
You can specify the
threshold when you start a server with the TABLEMEM= option in the
PROC LASR statement or alter it for a running server with the SERVERPARM
statement in the VASMP procedure. By default, TABLEMEM=75 (%).
Note: The memory that is consumed
by tables loaded from HDFS do not count toward the TABLEMEM= limit.
Be aware that the TABLEMEM=
option does not specify the percentage of memory that can be filled
with tables. The memory consumption is measured across all processes
of a machine.
A separate memory setting
can be applied to processes that extract data from a server on a worker
node. SAS High-Performance Analytics procedures can do this. If you
set the EXTERNALMEM= option in the PROC LASR statement or through
the SERVERPARM statement in the VASMP procedure, then you are specifying
the threshold of total memory (expressed as a percentage) at which
the server stops sending data to the high-performance analytics procedure.