Governing Memory for Database Child Processes

Starting in Strategy (September 2026), the database child-process memory governor can prevent the creation of new database child processes when system memory reaches configured limits.

The following dependent policies are supported:

  • Limit the total physical memory used by database child processes.

    This option is available starting in Strategy (September 2026).

    • If this limit is reached, the following error message displays: Failed to create new DB connection. The memory used by DB connection child processes has exceeded the maximum limit. Please contact the system administrator for assistance.

  • Starting in Strategy (October 2026), require a minimum amount of physical memory to remain available for the Intelligence Server and other processes.

    • If this limit is reached, the following error message displays: Failed to create new DB connection. Available physical memory is below the configured DB child-process free memory reserve. Please contact the system administrator for assistance.

    When both policies are enabled, a new database child process is created only when both checks pass. Connections to the metadata-server and distribution-service are allowlisted and not blocked by the governor to ensure platform resilience.

Governing Settings

Limit the Total Physical Memory Used By Database Child Processes

The following setting is used to control the governor:

Copy
DssServerMaxDbChildProcessesMemoryPercent

The limit is calculated using the following equation:

Copy
total physical memory * setting percentage / 100

The governor collects unique database worker-process IDs from existing connection monitors and compares their total memory usage with this limit.

Connections to the metadata-server and distribution-service are allowlisted and not blocked by the governor to ensure platform resilience.

Value

Behavior

-1

Disabled (by default)

1 to 99

Enabled

100

Enabled but unlimited

Minimum Physical Memory

The following setting is used to control the governor:

Copy
DssServerDBChildFreeMemoryReservePercent

The minimum available memory is calculated using the following equation:

Copy
total physical memory × DssServerDBChildFreeMemoryReservePercent / 100

A new database child process can be created only when the following is true:

Copy
available physical memory >= minimum available memory

See the following potential values and their behavior:

Value

Behavior

-1

Disabled (by default)

1 to 99

Enabled

Define the Setting

If you are using Strategy (October 2026) or later, use the following steps:

  1. In the Workstation Navigation pane, click Environments.

  2. Right-click your project and choose Properties.

  3. In the left pane, click All Settings.

  4. Search Maximum memory consumption for DB child processes or Minimum reserved memory for DB child processes.

  5. In the Value field, enter a number or select No Limit.

  6. Click OK.

If you are using Strategy (September 2026), use the following steps:

  1. Open the Strategy REST API Explorer by appending /MicroStrategyLibrary with /api-docs/index.html?visibility=all in your browser.

  2. Create a session and authenticate it. In the Authentication section, use POST /api/auth/admin/login.

  3. Click Try Out and modify the request body by providing your username and password.

  4. Click Execute.

  5. In the response, find X-MSTR-AuthToken.

  6. Under the System Administration section, look up PUT /api/iserver/settings.

  7. Click Try Out.

  8. Set the proper X-MSTR-AuthToken from step 5.

  9. Set request body as follows:

    Copy
    {
      "settings": [
        {
          "id": 205,
          "dataType": 3,
          "value": "80"
        }
      ]
    }
  10. Click Execute.

  11. The setting takes effect immediately. No server restart is required.

To confirm the change, repeat the steps above but replace the code in step 6 with GET /api/iserver/settings and view the response value.