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.

sas-innovate-white.png

Our biggest data and AI event of the year.

Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.

Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.

 

Register now!

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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