KNOWLEDGE BASE

Error "Cannot allocate ###### bytes of memory: The `global memory limit` limit of ###### bytes was exceeded" When Attempting to Run a Flow


Published: 24 Aug 2021
Last Modified Date: 12 Mar 2022

Issue

When attempting to run a flow in Tableau Online, the following error may occur:

Cannot allocate ###### bytes of memory: The `global memory limit` limit of ###### bytes was exceeded

Environment

  • Tableau Online
  • Flows

Resolution

Use the below options to workaround the issue:

Option 1

Reduce the complexity and size of the flow:

  1. Remove all of the columns you don't need in each input node. 
  2. Shrink the field data you don't plan on using (filter using a calculation, selected value, wildcard match, null values).
  3. Avoid Custom SQL as it bypasses our query processor which optimizes for performance.
  4. If joining static flat files with databases, move the flat file data into the database and do the join there instead of in Prep. 
  5. Move filters, aggregates before the join to shrink the table and help performance during the join step.
  6. Add aggregate steps when possible to reduce multiple values down to a single value.

Option 2

Split the flow up into multiple smaller flows and use the outputs as inputs for a final flow. Utilize linked tasks to run the final flow after the initial flows have completed. See Schedule linked tasks for more information.

Option 3

Run the flow manually in Prep Builder and then republish the flow to Tableau Online.

Option 4

Automate refreshes using the Prep Command Line. See Refresh flow output files from the command line for more information.

Cause

The size or complexity of the flow requires more memory than is available to complete the flow job on Tableau Online.
Did this article resolve the issue?