Desktop productivity for business analysts and programmers

How do I fix "ERROR: Java virtual machine exception. java.lang.OutOfMemoryError"?

Reply
New Contributor
Posts: 2

How do I fix "ERROR: Java virtual machine exception. java.lang.OutOfMemoryError"?

I'm using SAS Enterprise Guide 7.11 64-bit

 

I am trying to run a linear regression with a data set that includes over 300,000 observations. Every time I go to run the calculation, the following error appears:

ERROR: Java virtual machine exception. java.lang.OutOfMemoryError: GC overhead limit exceeded.

 

So far, I've tried to follow the steps listed in a related post on the SAS website, but with no luck. please help!

 

The log for this operation is below:

 

;*';*";*/;quit;run;
2 OPTIONS PAGENO=MIN;
3 %LET _CLIENTTASKLABEL='Linear Regression';
4 %LET _CLIENTPROJECTPATH='K:\Admin Div Research\DISPARITIES\Research Section projects\Regression Analysis\Regression
4 ! Analysis_Kang and Harrington.egp';
5 %LET _CLIENTPROJECTNAME='Regression Analysis_Kang and Harrington.egp';
6
7 ODS _ALL_ CLOSE;
8 ODS PROCTITLE;
9 OPTIONS DEV=ACTIVEX;
10 GOPTIONS XPIXELS=0 YPIXELS=0;
11 FILENAME EGSR TEMP;
12 ODS tagsets.sasreport13(ID=EGSR) FILE=EGSR
13 STYLE=HtmlBlue
14 STYLESHEET=(URL="file:///C:/Program%20Files/SASHome/SASEnterpriseGuide/7.1/Styles/HtmlBlue.css")
15 NOGTITLE
16 NOGFOOTNOTE
17 GPATH=&sasworklocation
18 ENCODING=UTF8
19 options(rolap="on")
20 ;
NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR
21
22 GOPTIONS ACCESSIBLE;
23 /* -------------------------------------------------------------------
24 Code generated by SAS Task
25
26 Generated on: Monday, July 31, 2017 at 3:59:51 PM
27 By task: Linear Regression
28
29 Input Data: LocalSmiley FrustratedASUSER.FY15_16_CDER,MEDICAL,POS COMBINE
30 Server: Local
31 ------------------------------------------------------------------- */
32 ODS GRAPHICS ON;
33
34 %_eg_conditional_dropds(WORK.SORTTEMPTABLESORTED_0000,
35 WORK.TMP1TempTableForPlots);
36 /* -------------------------------------------------------------------
37 Determine the data set's type attribute (if one is defined)
38 and prepare it for addition to the data set/view which is
39 generated in the following step.
40 ------------------------------------------------------------------- */
41 DATA _NULL_;
42 dsid = OPEN("SASUSER.'FY15_16_CDER,MEDICAL,POS COMBINE'n(FIRSTOBS=1 )", "I");
43 dstype = ATTRC(DSID, "TYPE");
44 IF TRIM(dstype) = " " THEN
45 DO;
46 CALL SYMPUT("_EG_DSTYPE_", "");
47 CALL SYMPUT("_DSTYPE_VARS_", "");
48 END;
49 ELSE
50 DO;
51 CALL SYMPUT("_EG_DSTYPE_", "(TYPE=""" || TRIM(dstype) || """)");
52 IF VARNUM(dsid, "_NAME_") NE 0 AND VARNUM(dsid, "_TYPE_") NE 0 THEN
53 CALL SYMPUT("_DSTYPE_VARS_", "_TYPE_ _NAME_");
54 ELSE IF VARNUM(dsid, "_TYPE_") NE 0 THEN
55 CALL SYMPUT("_DSTYPE_VARS_", "_TYPE_");
56 ELSE IF VARNUM(dsid, "_NAME_") NE 0 THEN
2 The SAS System 11:44 Monday, July 31, 2017

57 CALL SYMPUT("_DSTYPE_VARS_", "_NAME_");
58 ELSE
59 CALL SYMPUT("_DSTYPE_VARS_", "");
60 END;
61 rc = CLOSE(dsid);
62 STOP;
63 RUN;

NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds

64
65 /* -------------------------------------------------------------------
66 Data set SASUSER.'FY15_16_CDER,MEDICAL,POS COMBINE'n does not need to be sorted.
67 ------------------------------------------------------------------- */
68 DATA WORK.SORTTEMPTABLESORTED_0000 &_EG_DSTYPE_ / VIEW=WORK.SORTTEMPTABLESORTED_0000;
69 SET SASUSER.'FY15_16_CDER,MEDICAL,POS COMBINE'n(FIRSTOBS=1 KEEP=AMT White &_DSTYPE_VARS_);
70 RUN;

NOTE: DATA STEP view saved on file WORK.SORTTEMPTABLESORTED_0000.
NOTE: A stored DATA STEP view cannot run under a different operating system.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.00 seconds

71 TITLE;
72 TITLE1 "Linear Regression Results (White)";
73 FOOTNOTE;
74 PROC REG DATA=WORK.SORTTEMPTABLESORTED_0000
75 PLOTS(ONLY)=ALL
76
77 /* Start of custom user code */
78 PLOTS(MAXPOINTS=NONE)
79 /* End of custom user code */
80 ;
81 Linear_Regression_Model: MODEL AMT = White
82 / SELECTION=NONE
83 CLB
84 ALPHA=0.05
85 ;
86 RUN;

ERROR: Java virtual machine exception. java.lang.OutOfMemoryError: GC overhead limit exceeded.
ERROR: Java virtual machine exception. java.lang.OutOfMemoryError: GC overhead limit exceeded.
NOTE: View WORK.SORTTEMPTABLESORTED_0000.VIEW used (Total process time):
real time 2:27.47
cpu time 22.32 seconds

NOTE: There were 341398 observations read from the data set SASUSER.'FY15_16_CDER,MEDICAL,POS COMBINE'n.
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE REG used (Total process time):
real time 2:27.92
cpu time 22.45 seconds

87 QUIT;
3 The SAS System 11:44 Monday, July 31, 2017

88
89 /* -------------------------------------------------------------------
90 End of task code
91 ------------------------------------------------------------------- */
92 RUN; QUIT;
93 %_eg_conditional_dropds(WORK.SORTTEMPTABLESORTED_0000,
94 WORK.TMP1TempTableForPlots);


NOTE: View WORK.SORTTEMPTABLESORTED_0000 has been dropped.
NOTE: PROCEDURE SQL used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds

95 TITLE; FOOTNOTE;
96 ODS GRAPHICS OFF;
97
98
99 GOPTIONS NOACCESSIBLE;
100 %LET _CLIENTTASKLABEL=;
101 %LET _CLIENTPROJECTPATH=;
102 %LET _CLIENTPROJECTNAME=;
103
104 ;*';*";*/;quit;run;
105 ODS _ALL_ CLOSE;
106
107
108 QUIT; RUN;
109

 

 

Super User
Posts: 11,343

Re: How do I fix "ERROR: Java virtual machine exception. java.lang.OutOfMemoryError"?

300,000 points for a number of plots takes up memory to hold the graphics as built. Then the regression on top. I would suggest running the regression without the plots. If that works, add in plots that you actually want one at a time.

 

Or find a way to have more memory available to Java and/or SAS.

New Contributor
Posts: 2

Re: How do I fix "ERROR: Java virtual machine exception. java.lang.OutOfMemoryError"?

Thank you for the helpful tip!

Ask a Question
Discussion stats
  • 2 replies
  • 228 views
  • 1 like
  • 2 in conversation