SAS Options Affecting Memory

ODS Graphics uses Java technology to produce its graphs. Most of the time this fact is transparent to you because the required Java Runtime Environment (JRE) and Jar files are included with SAS software installation. Also, the Java environment is automatically started and stopped for you. When Java is started, it allocates a fixed amount of memory. The memory can grow up to the value set for the -Xmx suboption in the JREOPTIONS option (discussed in a moment). This memory is independent of the memory limit that SAS sets for the SAS session with its MEMSIZE= option.
Normally, the memory limit for Java is sufficient for most ODS Graphics applications. However, some tasks are very memory intensive and might exhaust all available Java memory, resulting in an OutOfMemoryError condition. You might encounter Java memory limitations when
  • the product of the output size and the DPI setting results in very large output
  • a classification panel has a very large number of classifier crossings
  • a scatter plot matrix has a large number of variables
  • creating 3-D plots and 2-D contours, which are memory intensive to generate
  • a plot has a very large number of marker labels
  • a plot uses many character variables or has a large number of GROUP values
  • using the SG Editor to edit a graph with a large amount of data.