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
to test the efficiency run the proc both ways and compare the results.
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.
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.
Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.
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.
Ready to level-up your skills? Choose your own adventure.