Hi,
Since starting with a new laptop, I aways get the message "The machine is running low on available physical memory".
What do I need to do to clear the message? and how much of problem is it?
Thanks
Kirstin
Hi @Kirstin
In a nutshell
The “Machine is running low on available physical memory” message is issued when Alteryx is allocating memory to temporarily store records (before a sort, join, or any tool that needs to look at more than one record at a time) and that allocation is for more memory than the amount of physical memory available. So the “certain amount” of memory remaining is actually zero.
To minimize memory usage, the rule of thumb for 64-bit machines is to set the Sort/Join Memory Usage to half of your physical memory a.k.a. RAM and then divide that by the number of concurrent processes or modules that you will be running, if you run 2 modules at a time, that would be 2,000 MB. It is always good to be conservative on this number. It is also a good practice to review the module and remove any unnecessary sorts, spatial objects or other data not being used in the downstream processing, unnecessary Browse tools and such.
Added Detail
Alteryx deletes any unneeded temp files from disk. The only time Alteryx doesn’t delete temp files is when it crashes.
You can allocate more memory than the physical memory in the machine; the OS will swap portions of memory back and forth to disk and make it look to Alteryx like there is enough memory. So sometimes you’ll get away with it and your module will complete, albeit slowly. But the whole point of the temporary buffers is to avoid writing records to disk when possible and to do so in efficient chunks when necessary. So doing this in virtual memory that is actually writing to disk anyway (and much less efficiently), will crush performance at the least. Frequently it will cause your module to fail, or to take longer than you’ll possibly wait for it, so it may as well fail.” One place to check is the System Settings, where you define your default dedicated Sort/Joint Memory usage. This is a big chunk of memory Alteryx allocates up front and manages it itself and also allocates additional memory as it runs (this is the temporary buffer).
Best,
Jordan Barker
Solutions Consultant
Thanks - this is really useful!
@JordanB I have a question on this part:
To minimize memory usage, the rule of thumb for 64-bit machines is to set the Sort/Join Memory Usage to half of your physical memory a.k.a. RAM and then divide that by the number of concurrent processes or modules that you will be running, if you run 2 modules at a time, that would be 2,000 MB. It is always good to be conservative on this number.
What counts as a "concurrent process or module"? Do you mean if you run two Alteryx workflows at the same time? Or is it more granular such as two sort tools in the same line (e.g. one sort tool downstream from another)?
@JordanB: I'm also experiencing these issues sporadically on our server and was hoping for a little clarification on the setting. Is the value set in the Sort/Join Memory option allocated on a per workflow or per sort/join tool basis?