BookmarkSubscribeRSS Feed
SasPro
Calcite | Level 5

Hi All,

I have huge dataset it takes more then a day to execute the code and some times it hangs the SAS system , execute is done very slowly.

I will be very thank full is some one help to guide how to allocate the maximum RAM memory to SAS system.

presently i am havine 4GB of RAM and i wanna to allocate 3GB to SAS system.

i tried to do for this file

"C:\Program Files\SASHome\x86\SASFoundation\9.3\nls\1d\sasv9.cfg" -realmemsize 0

and

"C:\Program Files\SASHome\x86\SASFoundation\9.3\nls\1d\sasv9.cfg" -memsize MAX

and

"C:\Program Files\SASHome\x86\SASFoundation\9.3\nls\1d\sasv9.cfg" -memsize 3G

but none fo it is working fine.

4 REPLIES 4
LinusH
Tourmaline | Level 20

What do you it doens't work (fine)?

If you are not sure whether the option is set, put a

proc options group=memory ;

run;

in your program.

If you don't know in which configuration file to out the option, just ad it to the beginning of you long running program.

But, 3GB RAM doesn't sound much compared to the running time. So I assume that there are other bottleneck than the memory. To help you further we need some more information, like how large is your table(s), the code. Applying options fullstimer; will help you understand where the bottlenecks are.

Other than memory, what is the configuration of your system, I/O, disk setup etc?

Data never sleeps
SasPro
Calcite | Level 5


thanks for reply,

executed proc option;run;

code

Group=MEMORY

SORTSIZE=268435456                   Size parameter for sort

SUMSIZE=0         Upper limit for data-dependent memory usage during summarization

MAXMEMQUERY=0     Maximum amount of memory returned when inquiring as to available space

MEMBLKSZ=16777216 Size of memory blocks allocated to support MEMLIB and MEMCACHE options.

MEMMAXSZ=2147483648                    Maximum amount of memory allocated to support MEMLIB and MEMCACHE options.

LOADMEMSIZE=0     Suggested memory limit for loaded SAS executables

MEMSIZE=3941230080                    Specifies the limit on the total amount of memory to be used by the SAS                    System

REALMEMSIZE=0     Limit on the total amount of real memory to be used by the SAS System

but i cant see the option to increase the RAM memory, Dataset has 850 columns and 100 thousand rows.

code is quite big has 1000 line code  complex macros,inline veiws and proc sql code are written.

i have added index were ever necessary but still code is taking too much time to execute.

system as 4GB ram and dual core processor.

LinusH
Tourmaline | Level 20

But MEMSIZE is already 3,5 GB - you can't possible get more...:smileyconfused:

So, if you have an I/O constraint (se fullstimer), you could benefit by using compress (binary if you have most numeric columns, else char/yes).

If your numerical columns are mostly integers, try to someway specify less than the default 8 bytes for storage.

options msglevel=i; will let you know if your indexes is being used.

But, 1000 line code with macros...I think you should prioritize to optimize the code. Look in the log to which step(s) consumes the most resources (time, memory).

Data never sleeps
SasPro
Calcite | Level 5

Ok.

thank you for helpful suggestion.

will try any and get back to you.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 8903 views
  • 0 likes
  • 2 in conversation