From 5a9e34c563a9f310e438e4290fa265dd761215e9 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Tue, 14 Jul 2026 14:56:48 +0300 Subject: [PATCH] Document that Synapse cache autotuning limits apply per process The autotuning defaults are derived from total system RAM, but every Synapse process (the main one and each worker) applies the configured limits independently, so worker setups multiply the theoretical aggregate cache memory usage. Fixes #3336 Co-Authored-By: Claude Fable 5 --- docs/maintenance-synapse.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/maintenance-synapse.md b/docs/maintenance-synapse.md index 7b7791227..9cd087def 100644 --- a/docs/maintenance-synapse.md +++ b/docs/maintenance-synapse.md @@ -105,6 +105,9 @@ Cache autotuning is **enabled by default** and controlled via the following vari You can **learn more about cache-autotuning and the global cache factor settings** in the [Synapse's documentation on caches and associated values](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values). +> [!NOTE] +> These limits apply **per Synapse process**. If you have [workers](configuring-playbook-synapse.md#load-balancing-with-workers) enabled, the main process and every worker each apply the configured limits independently, so the theoretical aggregate cache memory usage gets multiplied by the number of processes. When running many workers on a memory-constrained server, consider setting these variables to lower, explicitly chosen values. + To **disable cache auto-tuning**, unset all values: ```yaml