Allocating RAM memory to SAS system

Reply
Contributor
Posts: 22

Allocating RAM memory to SAS system

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.

Super User
Posts: 5,257

Re: Allocating RAM memory to SAS system

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
Contributor
Posts: 22

Re: Allocating RAM memory to SAS system


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.

Super User
Posts: 5,257

Re: Allocating RAM memory to SAS system

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
Contributor
Posts: 22

Re: Allocating RAM memory to SAS system

Ok.

thank you for helpful suggestion.

will try any and get back to you.

Ask a Question
Discussion stats
  • 4 replies
  • 3830 views
  • 0 likes
  • 2 in conversation