I'm curious about SAS's use of memory, sorting, and why it seems to be so inefficient.
I have a quad core xeon with 8GB ram. I have a 3GB dataset. Why, at any given time during a standard proc sort, is a mere 120MB of ram being used and a meager 15-20% CPU utilization? This seems like something horribly inefficient is going on with the procedure.
In my opinion, as I have the available memory, it would load the entire dataset and then proceed to obliterate all available CPU cycles. But only 15%? It's a stunning waste of available resources and bothers me. It seems like it's constantly going back and forth to
the disk which is painfully slow.
Is there some magical setting that says "SAS, you can utilize everything to go faster" I'm missing?
64bit OS running 64bit SAS, btw.
In your SAS installation there are options called -memsize and -sortsize that define how much memory is utilized during a SAS session in general and when sorting. Up both of them and it should give you some more control over the amount of ram allocated. There can also be restrictions imposed by the operating system on the applications. For example on linux the ulimits determine the amount of resources any one user session can utilize. I am sure there is something similar on Windows as well.