I am using SAS 9.4 M3 in Windows 10. It's a new installation after a Windows rebuild.
I am trying to draw a graph from a large dataset (4.5 gb) using Sgplot. The code runs really slowly and eventually I get the following error code:
ERROR: Java virtual machine exception. java.lang.OutOfMemoryError: Java heap space.
I have tried to change the java heap space allocated to SAS using a couple of different methods:
1. by altering jre options in the the config file. I have changed the config file so that
2. I have also tried to alter the default java heap space in Windows
3. I also tried opening SAS from a command prompt with the following jre options specified
"c:\program files\SASHome\SASFoundation\9.4\sas.exe" -ls 80 -ps 60
-config "C:\Program Files\SASHome\SASFoundation\9.4\nls\en\sasv9.cfg"
-jreoptions '(-Xmx1024m -Xms2048m)'
None of these has altered the heap space, which I check by running the following:
proc options option=jreoptions; run;
The log returns
JREOPTIONS=(/* other Java suboptions */ -Xmx128m -Xms128m)
What am I doing wrong?
In addition to failing to draw a graph of the whole dataset, SAS runs extremely slowly when asked to draw many graphs on subests of the data. I haven't had these problems on previous installations of SAS. The time taken to create 2128 graphs is:
NOTE: Writing HTML Body file: sashtml.htm
NOTE: PROCEDURE SGPLOT used (Total process time):
real time 4:35:13.73
cpu time 1:55.37
Which equates to approximately 3.25 secnods of CPU time per graph- which seems really long.
thank you for your reply. I owuld probably want to alter this permanently since I often use very large datasets.
I have 8 gb of RAM, so would it make sense to increase the allocation as much as I can to speed up sgplot?
The problem is, none of the methods of increasing heap space are working: I have tried a command prompt with increased jre options, AND I have also altered the config file, and yet SAS still only has 128 mb allocated.
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
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.