MEMSIZE hardware limit

Reply
Frequent Contributor
Posts: 117

MEMSIZE hardware limit

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.

Super User
Posts: 10,211

Re: MEMSIZE hardware limit

Apart from the memory issue, I think that a hash object that forces paging defeats its purpose of avoiding I/O.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Frequent Contributor
Posts: 117

Re: MEMSIZE hardware limit

Posted in reply to KurtBremser
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.
Super User
Posts: 10,766

Re: MEMSIZE hardware limit

Try -memsize 0  .

 

and run

proc options option=memsize;run;

to check the available memory size assigned for sas.

Frequent Contributor
Posts: 117

Re: MEMSIZE hardware limit

My understanding of documentation is that MEMSIZE=0 and MEMSIZE=MAX are equivalent, no?
Ask a Question
Discussion stats
  • 4 replies
  • 79 views
  • 2 likes
  • 3 in conversation