BookmarkSubscribeRSS Feed
Haris
Lapis Lazuli | Level 10

I set my MEMSIZE to MEMSIZE=MAX on a Windows LOCAL server with 32GB of RAM and almost 300GB free on the primary system SSD. 

 

However, DATA step with hash objects terminates when virtual memory file reaches 57GB.  Why is that?  Is that a hardware limit or can virtual memory not exceed two times the RAM?  What else can I do to increase the size of available virtual memory?  I am only dealing with a 3GB dataset of 1M records.  That's not that big.

 

I have much more space than 57GB on the primary SSD and, additionally, I have a 4TB secondary HD on the system.

 

Thank you in advance.

4 REPLIES 4
Haris
Lapis Lazuli | Level 10
I know, Kurt. The question is not about Hash Objects, though.

I think I figured out the source of the limit. It was the Windows Virtual Memory setting which, by default is equal to the RAM size. In my case 32GB of RAM was matched to 33GB of Virtual Memory auto-allocated by Windows. That's about 64GB, of which, 57GB was available to SAS.
Ksharp
Super User

Try -memsize 0  .

 

and run

proc options option=memsize;run;

to check the available memory size assigned for sas.

Haris
Lapis Lazuli | Level 10
My understanding of documentation is that MEMSIZE=0 and MEMSIZE=MAX are equivalent, no?

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 4 replies
  • 806 views
  • 3 likes
  • 3 in conversation