High Memory Usage - DEV site

Certified Associate Developer

We’re experiencing recurring high memory usage in our Appian Cloud DEV environment that is leading to emergency restarts. This typically occurs outside of normal development hours, when there is little to no active user activity.

As part of troubleshooting, we have:

  • Cleared all processes that had stopped due to exceptions

  • Removed older versions of process models and interfaces

  • Reviewed for obvious runaway process instances

  • Reviewed guidance in KB-2011

Despite this cleanup, the memory spikes continue.

Has anyone encountered similar behavior in a DEV environment with low user activity? If so:

  • Were scheduled processes, integrations, or unattended background jobs the root cause?

  • Are there specific logs or metrics in Appian Cloud that are most helpful for identifying memory drivers?

  • Does exporting and removing older, inactive applications from DEV meaningfully reduce memory consumption, or is memory primarily driven by actively executing objects?

Any guidance on deeper diagnostics or best practices for isolating memory usage in Appian Cloud would be greatly appreciated.

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Senior Developer

    Beyond storage and archive cleanup, one area worth investigating closely is code-level performance, particularly how process models and expressions are structured. A few patterns that frequently contribute to memory issues:

    1. Nested Loops
    Using multiple a!forEach() calls, especially nested ones, or chaining loops over large datasets without pagination, can quietly accumulate memory. 

    2. Scheduled Processes Running Off-Hours
    Check the Process Monitor for any recurring scheduled processes and review their logic for inefficient queries or large in-memory data handling.

    3. Integrations and Connected System Calls
    Unattended integration calls that return large payloads and store them in process variables (especially Map) can hold memory for the lifetime of a process instance. If those instances aren't completing or cleaning up properly, memory accumulates.

    4. Record Volume
    Querying without appropriate pagingInfo limits can pull unexpectedly large result sets. These tend to be missed in DEV.

Reply
  • 0
    Certified Senior Developer

    Beyond storage and archive cleanup, one area worth investigating closely is code-level performance, particularly how process models and expressions are structured. A few patterns that frequently contribute to memory issues:

    1. Nested Loops
    Using multiple a!forEach() calls, especially nested ones, or chaining loops over large datasets without pagination, can quietly accumulate memory. 

    2. Scheduled Processes Running Off-Hours
    Check the Process Monitor for any recurring scheduled processes and review their logic for inefficient queries or large in-memory data handling.

    3. Integrations and Connected System Calls
    Unattended integration calls that return large payloads and store them in process variables (especially Map) can hold memory for the lifetime of a process instance. If those instances aren't completing or cleaning up properly, memory accumulates.

    4. Record Volume
    Querying without appropriate pagingInfo limits can pull unexpectedly large result sets. These tend to be missed in DEV.

Children
No Data