BookmarkSubscribeRSS Feed
mbakare
Calcite | Level 5

Hi everyone,

I am fitting mixed model to yield trial across 30 environments assuming residual variance is heterogeneous across all trials. I have error that ERROR: The SAS System stopped processing this step because of insufficient memory.

 

I used 

proc options option=memsize;
run;

to check memory size and it returned 

SAS (r) Proprietary Software Release 9.4 TS1M2

MEMSIZE=2147483648
Specifies the limit on the amount of virtual memory that can be used during a SAS session.

 

Please how do I maximize the memory using memsize option? Below is my sas script

 

proc mixed data = filtered_pheno noitprint noclprint covtest update;
by trait;
class trial rep gen;
model y = trial prop_hav/ddfm = kr;
random rep(trial) gen gen*trial;
repeated /group = trial;
ods output Fitstatistics = &dsn._trait_fitstat;
ods output Dimensions = &dsn._trait_dim;
ods output CovParms = &dsn._trait_parms;
run;
quit;

 

Secondly, is it more efficient to put ods output statement before proc mixed statement or it doesn't matter if it is within proc mixed procedure as in this script.

Please I need step-by-step guide on how to resolve the memory issue so that I could analyse my data. Or is there a better way to improve my model? I have a large memory size going by proc options output.

Thanks

Moshood

 

 

 

3 REPLIES 3
VDD
Ammonite | Level 13 VDD
Ammonite | Level 13

to test the efficiency run the proc both ways and compare the results.

r_behata
Barite | Level 11

MEMSIZE has to be passed as an initialization parameter.If you are running SAS in batch mode you may try increasing the MEMSIZE by passing the option from the command line.

 

Example :

 

sas <program_name.sas> -MEMSIZE <N>G 

 

If you are using SAS EG/EM then this is something that you need to ask your administrator.

 

 

mbakare
Calcite | Level 5

Hi everyone,

I have got temporary solution to the posted question about memory issue. What I did is to change ddfm =kr in the model statement to ddfm=satterth. I also put all my ods output statement outside proc mixed and not within proc mixed procedure. I used as well ods noresults.

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
How to Concatenate Values

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 3 replies
  • 2309 views
  • 0 likes
  • 3 in conversation