So, today I investigated a bit. I found [1] and [2] interesting. I didn't do anything about [1], but I enabled cache in my configuration.
Then I went to #dovecot@freenode and someone advised me to switch to high-performance mode[6], which I did: --8<---------------cut here---------------start------------->8--- <hidden> do you have same uid/gid for all users or do they each have their own? <hidden> snape, if you have same uid/gid then set service_count = 0 for imap-login, otherwise set it to 1 [13:45] <hidden> and in latter scenario also set client_limit to 1 [13:46] <snape> hidden: there is one vmail user [13:47] <hidden> then you can set service_count = 0, process_limit = number of cores, process_min_avail = same as process limit and client_limit to something <snape> you mean, client_limit to 0? [13:53] <hidden> total concurrency is process_limit * client_limit for tls connections <hidden> non-tls connections are moved to imap process after logik <hidden> login <snape> ok so you suggest I switch to high-performance mode [13:54] <hidden> yes <snape> because it doesn't make sense to use high-security mode if all users share the same uid/gid? [13:55] <snape> i.e. if I use vmail? <hidden> the important part here is that if you set client_limit to anything above 1 the service_count needs to be 0 <hidden> yeah, in general we recommend high performance mode [13:56] --8<---------------cut here---------------end--------------->8--- In order to do the switch I had to modify the service so that it accepts the client-limit[3] and process-limit[4] options. I also fixed[5] the default value of 'service-count' for the "auth" service to 'unlimited', in case it matters. At least, now I don't seem to have these ever-growing imap-login processes anymore, so I'm closing this bug. I'll re-open it if it happens again. Cheers, Clément [1]: https://www.dovecot.org/list/dovecot/2011-December/080264.html [2]: https://dovecot.org/pipermail/dovecot/2008-May/030813.html [3]: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=8d9bb4b4d05a20bef1cf7b1da2b1c5fb05f9b071 [4]: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=be8dd4a5fec804f2f004dd3a87c2872af44dc88d [5]: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=a7553a7360ac07ff114b807fc3026f08158d34c8 [6]: https://wiki.dovecot.org/LoginProcess