doc/reduce-memory.md states that the minimum value for -maxmempool is a fixed 5. This is no longer accurate: the minimum is computed dynamically from the mempool's cluster size limit.
int64_t cluster_limit_bytes = opts.limits.cluster_size_vbytes * 40;
if (opts.max_size_bytes < 0 || (opts.max_size_bytes > 0 && opts.max_size_bytes < cluster_limit_bytes)) {
error = strprintf(_("-maxmempool must be at least %d MB"), std::ceil(cluster_limit_bytes / 1'000'000.0));
}
With the default cluster size limit (DEFAULT_CLUSTER_SIZE_LIMIT_KVB = 101, i.e. 101,000 vbytes), this works out to 101,000 * 40 = 4.04 MB, rounded up to 5 MB — so the documented 5 is correct only by coincidence of the current defaults.
This updates the wording to describe the actual behavior (derived from the cluster size limit, 5 MB by default) and mentions the -maxmempool must be at least N MB startup error a user will see if they set it too low.