- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Apart from the memory issue, I think that a hash object that forces paging defeats its purpose of avoiding I/O.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Try -memsize 0 .
and run
proc options option=memsize;run;
to check the available memory size assigned for sas.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content