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

Hi,

 

I ran the following logistic regression (11,590 observations) and got an insufficiency memory error.

980

981 proc logistic data=c11;

982 model deltar (descending) = lev fsize lirisk mb ltenure outsidechmn ceoapptdoutsdirs

982! staggered

983 pctoldoutsdirs pctbusyoutsdirs outsidedirholds lnumberdirs pctfinexpsaud/rsq;

984 output out=p1 p=prob;

985 run;

ERROR: The SAS System stopped processing this step because of insufficient memory.

NOTE: There were 11590 observations read from the data set WORK.C11.

WARNING: The data set WORK.P1 may be incomplete. When this step was stopped there were 0

observations and 272 variables.

NOTE: PROCEDURE LOGISTIC used (Total process time):

real time 2.94 seconds

cpu time 2.66 seconds

 

I looked up information and tried maximizing memory. Where do I need to put this command?

 

987 options memsize=max;

-------

30

WARNING 30-12: SAS option MEMSIZE is valid only at startup of the SAS System. The SAS option is

ignored.

 

Any advice will be highly appreciated.

 

Thank you

 

Sincerely,

Joon1

1 ACCEPTED SOLUTION

Accepted Solutions
ChrisNZ
Tourmaline | Level 20
Please select an answer that solved your problem. Not your own post.

View solution in original post

10 REPLIES 10
ChrisNZ
Tourmaline | Level 20

Please run this:

  data _null_; FREERAM_MB=input(getoption('xmrlmem'),20.)/1024/1024; put FREERAM_MB= 8.; run;

  proc options group=memory; run;

joon1
Quartz | Level 8

Thank you so much for your response

Even after entering your code at the first line, I still have the same error message. Any further advice will be highly appreciated.

 

504 data _null_; FREERAM_MB=input(getoption('xmrlmem'),20.)/1024/1024; put FREERAM_MB= 8.; run;

FREERAM_MB=1622

NOTE: DATA statement used (Total process time):

real time 0.00 seconds

cpu time 0.01 seconds

 

505 proc options group=memory; run;

SAS (r) Proprietary Software Release 9.4 TS1M3

 

Group=MEMORY

SORTSIZE=268435456

Specifies the amount of memory that is available to the SORT procedure.

SUMSIZE=0 Specifies a limit on the amount of memory that is available for data

summarization procedures when class variables are active.

MAXMEMQUERY=0 Specifies the maximum amount of memory that is allocated for procedures.

MEMBLKSZ=16777216 Specifies the memory block size for Windows memory-based libraries.

MEMMAXSZ=2147483648

Specifies the maximum amount of memory to allocate for using memory-based

libraries.

LOADMEMSIZE=0 Specifies a suggested amount of memory that is needed for executable programs

loaded by SAS.

MEMSIZE=2147483648

Specifies the limit on the amount of virtual memory that can be used during a

SAS session.

REALMEMSIZE=0 Specifies the amount of real memory SAS can expect to allocate.

NOTE: PROCEDURE OPTIONS used (Total process time):

real time 0.01 seconds

cpu time 0.03 seconds

 

 

 

498

499 proc logistic data=c11;

500 model deltar (descending) = lev fsize lirisk mb ltenure outsidechmn ceoapptdoutsdirs

500! staggered

501 pctoldoutsdirs pctbusyoutsdirs outsidedirholds lnumberdirs pctfinexpsaud/rsq;

502 output out=p1 p=prob;

503 run;

ERROR: The SAS System stopped processing this step because of insufficient memory.

NOTE: There were 11590 observations read from the data set WORK.C11.

WARNING: The data set WORK.P1 may be incomplete. When this step was stopped there were 0

observations and 272 variables.

NOTE: PROCEDURE LOGISTIC used (Total process time):

real time 2.64 seconds

cpu time 2.43 seconds

ChrisNZ
Tourmaline | Level 20

You are only giving SAS 2GB of RAM, of which 1.6 GB is usable for procedures..

Is your PC using a 64-bit OS?

How much memory do you have? 4GB or more? 

Is so, try increasing the value of MEMSIZE.

If not, I don't know enough about proc logistic to comment further.

 

You can still increase MEMSIZE with no available RAM, but the processing will then take place on disk and take a looooooooooooooong time.

 

joon1
Quartz | Level 8
Thank you
My pc is 64 bit OS. RAM is 8.00 GB (7.49 GB usable). The sample is only
11,590 observations. It is very strange to have memory issue. This may be
not real memory issue.
ChrisNZ
Tourmaline | Level 20

Change the MEMSIZE setting then. Maybe to 6 GB to start with.

This is done by changing the SAS configuration. Either in the SAS config file or in the desktop shortcut.

 

joon1
Quartz | Level 8

Thank you

Ksharp
Super User

That is really weird. 11,590 observations should NOT be big data for proc logistic.

or try PROC HPLOGISTIC  .

joon1
Quartz | Level 8

Thank you so much for your help

I tried hplogistic command and it just runs program without producing results. The hard drive of computer is very noisy and the computer (Dell PC) is not functioning well. Do you have any other advice?  Thank you

 

Sincerely,

Joon1

Ksharp
Super User

PROC GENMOD also can do logistic regression. But I am not sure if it could work out.

ChrisNZ
Tourmaline | Level 20
Please select an answer that solved your problem. Not your own post.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

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.

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
  • 10 replies
  • 15684 views
  • 1 like
  • 3 in conversation