Hi all,
I am running a do loop and got into this hash error, wonder how can I deal with this error. please note I'm runing with SAS EG on linux server. (SAS EG is on my laptop)
Detailed error info:
ERROR: Hash object added 0 items when memory failure occurred.
FATAL: Insufficient memory to execute DATA step program. Aborted during the EXECUTION phase.
ERROR: The SAS System stopped processing this step because of insufficient memory.
Possible solution I can think of:
1) Split big data set to small ones. I have total records about 3500000, it seems I need to split to at least 15 data sets. (I tested the small data set ran through the sas code successfully)
2) Increase the memory size?
I ran the code Proc Options group=memory; run; and the results are as follows:
Group=MEMORY
SORTSIZE=1073741824
Specifies the amount of memory that is available to the SORT procedure.
SUMSIZE=0 Specifies a limit on the amount of memory that is available for data summarization procedures when class
variables are active.
MAXMEMQUERY=268435456
For certain procedures, specifies the maximum amount of memory that can be allocated per request.
LOADMEMSIZE=0 Specifies a suggested amount of memory that is needed for executable programs loaded by SAS.
MEMSIZE=2147483648
Specifies the limit on the amount of virtual memory that can be used during a SAS session.
REALMEMSIZE=0 Specifies the amount of real memory SAS can expect to allocate.
Please advise what I should do, any suggestion is welcome. Thank you!
Jade
What are you trying to do with the hash? At 3.5 million records a plain sort/lookup may be better than a divide and conquer approach.
Thank you. I am use it for some do loop calculations. See details:
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.