[Dovecot] auth service: out of memory
Hi,
I have some out of memory errors in my logs (file errors.txt attached)
I'm using dovecot 2.0.19, I can see some memory leaks fix in hg after the 2.0.19 release but they seem related to imap-login service,
I attached my config too, is something wrong there? Should I really increase the limit based on my settings?
Can these commits fix the reported leak?
http://hg.dovecot.org/dovecot-2.0/rev/6299dfb73732 http://hg.dovecot.org/dovecot-2.0/rev/67f1cef07427
Please note that the auth service is restarted when it reach the limit so no real issues,
please advice
thanks Nicola
On 29.6.2012, at 9.35, Mailing List SVR wrote:
I have some out of memory errors in my logs (file errors.txt attached)
How large is your auth process's VSZ when it starts up and has handled a couple of logins? It's possible that it's not leaking at all, you're just not giving enough memory for its normal operation. Some Linux distros nowadays build binaries that eat up a lot of VSZ immediately when they start up.
Il 29/06/2012 09:19, Timo Sirainen ha scritto:
On 29.6.2012, at 9.35, Mailing List SVR wrote:
I have some out of memory errors in my logs (file errors.txt attached) How large is your auth process's VSZ when it starts up and has handled a couple of logins? It's possible that it's not leaking at all, you're just not giving enough memory for its normal operation. Some Linux distros nowadays build binaries that eat up a lot of VSZ immediately when they start up.
ps aux report this:
dovecot 7454 0.0 0.0 85980 3776 ? S 09:36 0:00 dovecot/auth
before restarting dovecot the auth process was running since about 1 hour and this is the output from ps aux
dovecot 25002 0.0 0.0 86112 3780 ? S 08:24 0:00 dovecot/auth
thanks Nicola
On 29.6.2012, at 10.39, Mailing List SVR wrote:
Il 29/06/2012 09:19, Timo Sirainen ha scritto:
On 29.6.2012, at 9.35, Mailing List SVR wrote:
I have some out of memory errors in my logs (file errors.txt attached) How large is your auth process's VSZ when it starts up and has handled a couple of logins? It's possible that it's not leaking at all, you're just not giving enough memory for its normal operation. Some Linux distros nowadays build binaries that eat up a lot of VSZ immediately when they start up.
ps aux report this:
dovecot 7454 0.0 0.0 85980 3776 ? S 09:36 0:00 dovecot/auth
before restarting dovecot the auth process was running since about 1 hour and this is the output from ps aux
dovecot 25002 0.0 0.0 86112 3780 ? S 08:24 0:00 dovecot/auth
So you have 44 MB of VSZ available after startup. You also have 10 MB of auth cache, which could in reality take somewhat more than 10 MB. It doesn't leave a whole lot available for regular use. I'd increase the auth process's VSZ limit and see if it still crashes.
If you want to, you could also test with valgrind if there's a leak:
service auth { executable = /usr/bin/valgrind --leak-check=full -q /usr/libexec/dovecot/auth }
You'd then need to restart the auth process to make valgrind output the leaks.
Il 29/06/2012 09:45, Timo Sirainen ha scritto:
On 29.6.2012, at 10.39, Mailing List SVR wrote:
Il 29/06/2012 09:19, Timo Sirainen ha scritto:
On 29.6.2012, at 9.35, Mailing List SVR wrote:
I have some out of memory errors in my logs (file errors.txt attached) How large is your auth process's VSZ when it starts up and has handled a couple of logins? It's possible that it's not leaking at all, you're just not giving enough memory for its normal operation. Some Linux distros nowadays build binaries that eat up a lot of VSZ immediately when they start up.
ps aux report this:
dovecot 7454 0.0 0.0 85980 3776 ? S 09:36 0:00 dovecot/auth
before restarting dovecot the auth process was running since about 1 hour and this is the output from ps aux
dovecot 25002 0.0 0.0 86112 3780 ? S 08:24 0:00 dovecot/auth So you have 44 MB of VSZ available after startup. You also have 10 MB of auth cache, which could in reality take somewhat more than 10 MB. It doesn't leave a whole lot available for regular use. I'd increase the auth process's VSZ limit and see if it still crashes.
I increased the limit to 192MB or should I set the limit to 256MB or more? I'll wait some days to see if still crash
If you want to, you could also test with valgrind if there's a leak:
service auth { executable = /usr/bin/valgrind --leak-check=full -q /usr/libexec/dovecot/auth }
You'd then need to restart the auth process to make valgrind output the leaks.
for now I prefer to avoid valgrind on a production server if the crash persist with the new limit I'll setup a test environment and I'll run valgrind there,
thanks Nicola
participants (2)
-
Mailing List SVR
-
Timo Sirainen