Hello community, I am running SAS 9.4 programs via a Grid in linux. Is there a way to determine how much memory a program needs to run?
In our shop we allocate around 5gb of memory to our testing environment but only about 2gb of memory in our production environment. This has led to jobs failing in prod because of insufficient memory even though it ran fine in test.
I know we can use the getoption('xmrlmem') to see how much memory is available for the job. But is there a way to see how memory a program actually used?
I would like to know ahead of time if I need to allocate more memory in prod for a program to run.
No, memory usage for a program would be the maximum memory across all steps. SAS program steps process sequentially so only the step using the most memory is relevant.
You can't calculate SAS memory usage in advance, but if you add the SAS option FULLSTIMER, SAS will report memory usage in the log.
options fullstimer;
No, memory usage for a program would be the maximum memory across all steps. SAS program steps process sequentially so only the step using the most memory is relevant.
Also 2GB is way too low for a Production environment - ours is set to 8GB currently.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.