Hi
We have a Windows 7 PC running base SAS9.3 which is intermittantly printing the following error to the log - "ERROR: Resource allocation failure".
So far as I can tell the machine has plently of memory etc. and the messge occurs on both large queries and small ones. Has anyone encountered this before?
Thanks
RB
Hello @RB1Kenobi,
it looks to me as you have some memory settings on your SAS configuration (sasv9.cfg) that has been changed or do not comply to your actual RAM resources on your PC.
Please let us know:
- Your total and free amounts or RAM on your PC
- If you run the following code in your SAS session, what do you get?
proc options group=memory;
run;
proc options group=performance;
run;
- And, if you go to your sasv9.cfg (SASHome/SASFoundation/9.3/nls/*/sasv9.cfg) what is the content of MEMSIZE and SORTSIZE?
Thank you in advance,
Best regards,
Juan
Hi Thanks for your response, the info is below:
- Your total and free amounts or RAM on your PC 8.00 GB (7.90 GB Usable)
- From the config file:
- MEMSIZE 2G
- SORTSIZE 256M
- From the PROC OPTIONS log:
1
2 proc options group=memory;
3 run;
SAS (r) Proprietary Software Release 9.3 TS1M2
Group=MEMORY
SORTSIZE=268435456
Size parameter for sort
SUMSIZE=0 Upper limit for data-dependent memory usage during summarization
MAXMEMQUERY=0 Maximum amount of memory returned when inquiring as to available space
MEMBLKSZ=16777216 Size of memory blocks allocated to support MEMLIB and MEMCACHE options.
MEMMAXSZ=2147483648
Maximum amount of memory allocated to support MEMLIB and MEMCACHE options.
LOADMEMSIZE=0 Suggested memory limit for loaded SAS executables
MEMSIZE=2147483648
Specifies the limit on the total amount of memory to be used by the SAS System
REALMEMSIZE=0 Limit on the total amount of real memory to be used by the SAS System
NOTE: PROCEDURE OPTIONS used (Total process time):
real time 0.03 seconds
user cpu time 0.00 seconds
system cpu time 0.00 seconds
memory 42.30k
OS Memory 6256.00k
Timestamp 07/03/2017 08:13:11 o'clock
4 proc options group=performance;
5 run;
SAS (r) Proprietary Software Release 9.3 TS1M2
Group=PERFORMANCE
ARMAGENT= ARM Agent to use to collect ARM records
ARMLOC=ARMLOG.LOG Identify location where ARM records are to be written
ARMSUBSYS=(ARM_NONE)
Enable/Disable ARMing of SAS subsystems
BUFNO=1 Number of buffers for each SAS data set
BUFSIZE=0 Size of buffer for page of SAS data set
CGOPTIMIZE=3 Control code generation optimization
CMPMODEL=BOTH Identify CMP model storage type
CMPOPT=(NOEXTRAMATH NOMISSCHECK NOPRECISE NOGUARDCHECK NOGENSYMNAMES NOFUNCDIFFERENCING)
Enable SAS compiler performance optimizations
COMPRESS=YES Specifies whether to compress observations in output SAS data sets
CPUCOUNT=4 Number of processors available.
NODBIDIRECTEXEC Do not use SQL optimization with SAS/ACCESS engines
DBSLICEPARM=(THREADED_APPS, 2)
Alter DBMS engine threaded read behavior by expanding or disallowing threaded reads.
MAXSEGRATIO=75 SPD Engine pre-evaluation phase time ratio
MEXECSIZE=65536 Maximum size for a macro to execute in memory
MINPARTSIZE=16777216
Minimum partition size when creating SPD Engine files
SORTSIZE=268435456
Size parameter for sort
SPDEINDEXSORTSIZE=33554432
Identifies memory to be used for SPD Engine asynchronous index create or append
SPDEMAXTHREADS=0 Maximum number of threads for SPD Engine processing
SPDESORTSIZE=33554432
Memory for SPD Engine sort operations
SPDEUTILLOC= Location where SPD Engine temporary utility files are created
SPDEWHEVAL=COST Specifies SPD Engine WHERE statement evaluation strategy
SQLGENERATION=(NONE DBMS='TERADATA DB2 ORACLE NETEZZA ASTER GREENPLM')
Identify when to perform SQL generation for SAS Procedure input processing
SQLREDUCEPUT=DBMS PROC SQL optimization for put() functions
SQLREDUCEPUTOBS=0 PROC SQL optimization for put() functions observation threshold
SQLREDUCEPUTVALUES=0
PROC SQL optimization for put() functions value threshold
THREADS Threads are available for use with features of the SAS System that support threading
MEMSIZE=2147483648
Specifies the limit on the total amount of memory to be used by the SAS System
NOTE: PROCEDURE OPTIONS used (Total process time):
real time 0.03 seconds
user cpu time 0.01 seconds
system cpu time 0.01 seconds
memory 18.12k
OS Memory 6512.00k
Timestamp 07/03/2017 08:13:11 o'clock
Hello @RB1Kenobi,
you are welcome.
Could it be that you get the errors when you run sort procedures?
Try changing the first values by:
- MEMSIZE 4G
- SORTSIZE 1G
Once you do, please generate the same proc options with performance and memory, as before, and let us know if you get similar errors.
Hi thanks for the idea. We tried it but unfortunately the outcome was unchanged and the "out of resources" message persists.
I am no sure on how to help you further, sorry. Did you tried already to contact SAS Technical Support?
Yes SAS tech support are now on the case (their first suggestion was the same as yours!).
Thanks again,
RB
It is a pleasure, although a pity that my knowledge does not reach enough level to help you further.
Great that now you are in contact with the Technical Support guys, I am sure they will give you the solution you need. COuld you please share the solution with us? I would love to learn from it
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.