Re: dovecot/config processes open, and consuming all memory
I'm having strange behavior in dovecot 2.3.16. It's opening dozens of dovecot/config process and consuming all server memory. Normally each process consumes between 700Mb and 1Gb of ram.
Would anyone have an idea about this?
service config { vsz_limit = 2048M idle_kill = 60s service_count = 1024 }
Not sure it's related, but if you have service_count not 0 or 1, there is a strange interaction with other limits that could cause processes to hang around. My description of problem
https://www.mail-archive.com/dovecot%40dovecot.org/msg85850.html
Your situation is slgihtly different (service not imap_login, and idle_kill timeout should reduce lingering processes that caused my problem), but try setting service_limit to either 0 or 1 and see if your problem goes away, or gets worse.
You can also see how many file descriptors are being held by the config process, and see the behaviour over time (e.g. monitor /proc/{pid}/fd/*); maybe that will give you a clue as to what the config process is doing.
Joseph Tam jtam.home@gmail.com
On 16/08/2022 03:40 EEST Joseph Tam jtam.home@gmail.com wrote:
I'm having strange behavior in dovecot 2.3.16. It's opening dozens of dovecot/config process and consuming all server memory. Normally each process consumes between 700Mb and 1Gb of ram.
Would anyone have an idea about this?
service config { vsz_limit = 2048M idle_kill = 60s service_count = 1024 }
Not sure it's related, but if you have service_count not 0 or 1, there is a strange interaction with other limits that could cause processes to hang around. My description of problem
https://www.mail-archive.com/dovecot%40dovecot.org/msg85850.html
Your situation is slgihtly different (service not imap_login, and idle_kill timeout should reduce lingering processes that caused my problem), but try setting service_limit to either 0 or 1 and see if your problem goes away, or gets worse.
You can also see how many file descriptors are being held by the config process, and see the behaviour over time (e.g. monitor /proc/{pid}/fd/*); maybe that will give you a clue as to what the config process is doing.
Joseph Tam jtam.home@gmail.com
The *default* configuration for service config is usually just fine. Is there some reason you decided to modify it in first place?
Aki
The only thing I had initially configured was vsz_limit, but as the number of clients grew, the number of dovecot/config processes grew, and with that I added idle_kill and service_count to try to minimize the use of ram memory In dovecot 2.2.33.2 , another server, has the same amount of accounts (+ or -30 thousand) but there is only one dovecot/config process and every dovecot does not consume more than 5Gb
On 16/08/2022 06:20, Aki Tuomi wrote:
On 16/08/2022 03:40 EEST Joseph Tam jtam.home@gmail.com wrote:
I'm having strange behavior in dovecot 2.3.16. It's opening dozens of dovecot/config process and consuming all server memory. Normally each process consumes between 700Mb and 1Gb of ram.
Would anyone have an idea about this?
service config { vsz_limit = 2048M idle_kill = 60s service_count = 1024 } Not sure it's related, but if you have service_count not 0 or 1, there is a strange interaction with other limits that could cause processes to hang around. My description of problem
https://www.mail-archive.com/dovecot%40dovecot.org/msg85850.html
Your situation is slgihtly different (service not imap_login, and idle_kill timeout should reduce lingering processes that caused my problem), but try setting service_limit to either 0 or 1 and see if your problem goes away, or gets worse.
You can also see how many file descriptors are being held by the config process, and see the behaviour over time (e.g. monitor /proc/{pid}/fd/*); maybe that will give you a clue as to what the config process is doing.
Joseph Tam jtam.home@gmail.com The *default* configuration for service config is usually just fine. Is there some reason you decided to modify it in first place?
Aki
Can you try increasing client_limit for service config, to maybe, say, 1000? There should be no reason to have lots of multiple config processes, so it sounds more like the client limit is being reached.
Aki
On 16/08/2022 19:03 EEST filipe@digirati.com.br filipe@digirati.com.br wrote:
The only thing I had initially configured was vsz_limit, but as the number of clients grew, the number of dovecot/config processes grew, and with that I added idle_kill and service_count to try to minimize the use of ram memory In dovecot 2.2.33.2 , another server, has the same amount of accounts (+ or -30 thousand) but there is only one dovecot/config process and every dovecot does not consume more than 5Gb
On 16/08/2022 06:20, Aki Tuomi wrote:
On 16/08/2022 03:40 EEST Joseph Tam jtam.home@gmail.com wrote:
I'm having strange behavior in dovecot 2.3.16. It's opening dozens of dovecot/config process and consuming all server memory. Normally each process consumes between 700Mb and 1Gb of ram.
Would anyone have an idea about this?
service config { vsz_limit = 2048M idle_kill = 60s service_count = 1024 } Not sure it's related, but if you have service_count not 0 or 1, there is a strange interaction with other limits that could cause processes to hang around. My description of problem
https://www.mail-archive.com/dovecot%40dovecot.org/msg85850.html
Your situation is slgihtly different (service not imap_login, and idle_kill timeout should reduce lingering processes that caused my problem), but try setting service_limit to either 0 or 1 and see if your problem goes away, or gets worse.
You can also see how many file descriptors are being held by the config process, and see the behaviour over time (e.g. monitor /proc/{pid}/fd/*); maybe that will give you a clue as to what the config process is doing.
Joseph Tam jtam.home@gmail.com The *default* configuration for service config is usually just fine. Is there some reason you decided to modify it in first place?
Aki
currently the client_limt is at zero, and I believe this is unlimited
service config { chroot = client_limit = 0 drop_priv_before_exec = no executable = config extra_groups = group = idle_kill = 1 mins privileged_group = process_limit = 0 process_min_avail = 16 protocol = service_count = 100 type = config unix_listener config { group = mode = 0600 user = } user = vsz_limit = 2 G }
On 16/08/2022 18:06, Aki Tuomi wrote:
Can you try increasing client_limit for service config, to maybe, say, 1000? There should be no reason to have lots of multiple config processes, so it sounds more like the client limit is being reached.
As https://doc.dovecot.org/configuration_manual/service_configuration/#client-l... says, 0 means to apply default_client_limit, which defaults to 100.
Aki
On 16/08/2022 20:11 EEST filipe@digirati.com.br filipe@digirati.com.br wrote:
currently the client_limt is at zero, and I believe this is unlimited
service config { chroot = client_limit = 0 drop_priv_before_exec = no executable = config extra_groups = group = idle_kill = 1 mins privileged_group = process_limit = 0 process_min_avail = 16 protocol = service_count = 100 type = config unix_listener config { group = mode = 0600 user = } user = vsz_limit = 2 G }
On 16/08/2022 18:06, Aki Tuomi wrote:
Can you try increasing client_limit for service config, to maybe, say, 1000? There should be no reason to have lots of multiple config processes, so it sounds more like the client limit is being reached.
participants (3)
-
Aki Tuomi
-
filipe@digirati.com.br
-
Joseph Tam