09-06-2017 02:34 PM
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:
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.
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.
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!
09-06-2017 02:40 PM
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.
09-06-2017 02:51 PM
Thank you. I am use it for some do loop calculations. See details: