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
-------------- next part --------------
cat /var/log/mail.log | grep "Out of memory"
Jun 28 11:48:24 server1 dovecot: master: Error: service(auth): child 31301
returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may
need to increase it))
Jun 28 11:50:18 server1 dovecot: auth: Fatal: pool_system_realloc(8192): Out of
memory
Jun 28 11:50:18 server1 dovecot: master: Error: service(auth): child 10782
returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may
need to increase it))
Jun 28 11:52:43 server1 dovecot: master: Error: service(auth): child 16854
returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may
need to increase it))
Jun 28 11:54:01 server1 dovecot: auth: Fatal: block_alloc(4096): Out of memory
Jun 28 11:54:01 server1 dovecot: master: Error: service(auth): child 23378
returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may
need to increase it))
Jun 28 11:55:09 server1 dovecot: auth: Fatal: pool_system_realloc(8192): Out of
memory
Jun 28 11:55:09 server1 dovecot: master: Error: service(auth): child 28203
returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may
need to increase it))
Jun 28 11:56:07 server1 dovecot: master: Error: service(auth): child 32570
returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may
need to increase it))
Jun 28 11:57:01 server1 dovecot: auth: Fatal: block_alloc(4096): Out of memory
Jun 28 11:57:01 server1 dovecot: master: Error: service(auth): child 5136
returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may
need to increase it))
Jun 28 11:57:57 server1 dovecot: master: Error: service(auth): child 9245
returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may
need to increase it))
Jun 28 11:58:52 server1 dovecot: master: Error: service(auth): child 13779
returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may
need to increase it))
Jun 28 11:59:49 server1 dovecot: master: Error: service(auth): child 18260
returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may
need to increase it))
Jun 28 12:01:03 server1 dovecot: auth: Fatal: pool_system_realloc(8192): Out of
memory
Jun 28 12:01:03 server1 dovecot: master: Error: service(auth): child 22181
returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may
need to increase it))
Jun 28 12:03:24 server1 dovecot: auth: Fatal: pool_system_malloc(3144): Out of
memory
Jun 28 12:03:24 server1 dovecot: master: Error: service(auth): child 27253
returned error 83 (Out of memory (service auth { vsz_limit=128 MB }, you may
need to increase it))
-------------- next part --------------
# 2.0.19: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-25-generic x86_64 Ubuntu 12.04 LTS ext4
auth_cache_size = 10 M
auth_mechanisms = plain login
auth_socket_path = /var/run/dovecot/auth-userdb
auth_worker_max_count = 128
base_dir = /var/run/dovecot/
default_process_limit = 200
default_vsz_limit = 128 M
disable_plaintext_auth = no
first_valid_gid = 2000
first_valid_uid = 2000
hostname = mail.example.com
last_valid_gid = 2000
last_valid_uid = 2000
listen = *
login_greeting = SVR ready.
mail_location = maildir:/srv/panel/mail/%d/%t/Maildir
mail_plugins = " quota trash autocreate"
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy
include variables body enotify environment mailbox date ihave
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
autocreate = Trash
autocreate2 = Junk
autocreate3 = Drafts
autocreate4 = Sent
autosubscribe = Trash
autosubscribe2 = Junk
autosubscribe3 = Drafts
autosubscribe4 = Sent
quota = maildir:User quota
quota_rule = *:storage=300MB
quota_rule2 = Trash:ignore
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=80%% quota-warning 80 %u
sieve = ~/.dovecot.sieve
sieve_before = /etc/dovecot/sieve/move-spam.sieve
sieve_dir = ~/sieve
sieve_max_actions = 32
sieve_max_redirects = 4
sieve_max_script_size = 1M
sieve_quota_max_scripts = 10
sieve_quota_max_storage = 2M
trash = /etc/dovecot/dovecot-trash.conf.ext
}
postmaster_address = postmaster at example.com
protocols = imap pop3 sieve
service auth-worker {
user = $default_internal_user
}
service auth {
unix_listener /var/spool/postfix/private/dovecot-auth {
group = vmail
mode = 0660
user = postfix
}
unix_listener auth-userdb {
group = vmail
mode = 0660
user = vmail
}
user = $default_internal_user
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
service quota-warning {
executable = script
/srv/panel/django/systemcp/systemutils/mail/quota-warning.py
unix_listener quota-warning {
user = vmail
}
user = dovecot
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_cipher_list =
ALL:!LOW:!SSLv2:ALL:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lda {
mail_plugins = " quota trash autocreate sieve"
}
protocol imap {
imap_client_workarounds = delay-newmail
mail_max_userip_connections = 10
mail_plugins = " quota trash autocreate imap_quota"
}
protocol sieve {
mail_max_userip_connections = 10
mail_plugins = " quota trash autocreate"
managesieve_max_compile_errors = 5
}
protocol pop3 {
mail_max_userip_connections = 10
mail_plugins = " quota trash autocreate"
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}