Hi Everyone
I keep getting the below error for memory size. After taking a look around, it seems using memsize and fullstimer options might be a good way to resolve the error, once it is determined the memory needed. However, I don't see how to implement these options. It appears you can set it in a data step or proc, but don't see examples.
Is anyone familiar with this?
Paul
"ERROR: Unable to allocate sufficient memory. At least 1521783K bytes were requested, but only 786430K were available. You must either increase the amount of memory available, or approach the problem differently.
ERROR: The SAS System stopped processing this step because of insufficient memory."
I use these options when I run into problems with insufficient memory. FULLSTIMER causes SAS to add memory usage statistics to the log. MEMSIZE changes the amount of memory available to SAS. This is typically a 2-step process. First, I run the problem program with both FULLSTIMER and MEMSIZE MAX and check the log to see how much memory SAS actually needed to run the program. Second, I add OPTIONS MEMSIZE nn to the program, where nn is the amount of memory SAS needed plus a little bit more for "breathing room."
You didn't say which O/S you're using, so here's the doc for MEMSIZE and FULLSTIMER for Windows. Both options can be used in a configuration file or at SAS invocation. Here's doc on how to do this on Windows.
It may be that your program doesn't complete even when you use MEMSIZE MAX, but solving that program requires more detail about your program.
I am using a Windows 7 desktop. Where is the configuration file located?
Paul
As mentioned, FULLSTIMER only gives you information about memory usage, it does not change memory settings.
MEMSIZE changes the maximum SAS virtual memory footprint, and must be set at the time SAS starts.
Note that some procedures are also affected by the SORTSIZE and SUMSIZE options.
Here is a schema taken from the book
https://www.amazon.com/High-Performance-SAS-Coding-Christian-Graffeuille/dp/1512397490
that summarises how the memory settings are nested.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.