dovecot/config processes open, and consuming all memory
Joseph Tam
jtam.home at gmail.com
Tue Aug 16 21:57:13 UTC 2022
From: Aki Tuomi <aki.tuomi at open-xchange.com>
> The *default* configuration for service config is usually just fine.
> Is there some reason you decided to modify it in first place?
Are you asking me, or the OP?
I guess the blunt answer is ignorance on my part. However, I pointed
out that the docs about this setting is somewhat misleading -- it's used
to limit any potential memory leaks for long-lived processes by ensuring
it terminates periodically.
I read this and thought to myself "this is a good thing to do", without
realizing that it would have the opposite effect as lingering clients
could delay service termination indefinitely. The side effect is many
new processes are spawned to handle new clients, and eventually
the maximum process limit is reached, and chaos ensues.
So for services like imap-login and others that can have lingering
clients, the only sensible values for service_limit is {0,1}. If you
set service_limit>1, the asymptotic behaviour is like service_limit=1,
and process_limit would have to be adjusted accordingly.
The docs can explain this rather wordy and subtle explanation of
service_limit, or service_limit can be constrained to values {0,1} so that
others don't blunder along the same path I did.
Joseph Tam <jtam.home at gmail.com>
More information about the dovecot
mailing list