BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
BalassaSamuelso
Obsidian | Level 7

Dear all, 

 

I uploaded a few files to SAS University edition on AWS and tried a few calculations. The last proc freq shows me

 ERROR: Insufficient space in file WORK.'SASTMP-000000072'n.UTILITY.
 ERROR: File WORK.'SASTMP-000000072'n.UTILITY is damaged. I/O processing did not complete.

I even deleted some of my files and resized the EBS to 80 GB. I don't know how you can check the free space on that EBS in SAS, but there should still be plenty left!

1 ACCEPTED SOLUTION

Accepted Solutions
Kurt_Bremser
Super User

Try

PROC SQL;
select count(distinct(OrderID) from abc.cjreimport;
quit;

To get the cardinality of OrderID. I guess you try to count something that isn't suited for counting with FREQ, as almost every observation belongs to a different OrderID, so FREQ needs much more memory than usual.

How many observations does abc.cjreimport have?

View solution in original post

4 REPLIES 4
Kurt_Bremser
Super User

Are you sure that a PROC FREQ causes this? Could you please post more of your log?

In my experience, PROC FREQ does not create a utility file, but does it's job in memory.

BalassaSamuelso
Obsidian | Level 7

I executed 

proc freq data=abc.cjreimport NLEVELS;
	tables OrderID UserID;
run;

and got this in the log

 1          OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 55         
 56         proc freq data=abc.cjreimport NLEVELS;
 57         tables OrderID UserID;
 58         run;
 
 ERROR: Insufficient space in file WORK.'SASTMP-000000025'n.UTILITY.
 ERROR: File WORK.'SASTMP-000000025'n.UTILITY is damaged. I/O processing did not complete.
 NOTE: The SAS System stopped processing this step because of errors.
 NOTE: There were 7045546 observations read from the data set ABC.CJREIMPORT.
 NOTE: PROCEDURE FREQ used (Total process time):
       real time           1:23.24
       cpu time            13.63 seconds
       
 59         
 60         OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 72         
Kurt_Bremser
Super User

Try

PROC SQL;
select count(distinct(OrderID) from abc.cjreimport;
quit;

To get the cardinality of OrderID. I guess you try to count something that isn't suited for counting with FREQ, as almost every observation belongs to a different OrderID, so FREQ needs much more memory than usual.

How many observations does abc.cjreimport have?

BalassaSamuelso
Obsidian | Level 7

Perfect, thank you so much! That was the solution.

The dataset has around 7 million observations. I even tried updating my instance to 4GB RAM, same error there. 

suga badge.PNGThe SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment. 

Join SUGA 

CLI in SAS Viya

Learn how to install the SAS Viya CLI and a few commands you may find useful in this video by SAS’ Darrell Barton.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 4 replies
  • 1419 views
  • 0 likes
  • 2 in conversation