[Dovecot] A lot of dovecot/imap processes

C3PO sysadmin jcs at c3po.es
Wed Jan 30 17:09:09 EET 2013


Hello!

I have a dovecot installed and many users could login via IMAP over SSL 
(40 users at same time aprox).
Users could have "Check mail every X time" enabled in their client 
(Thunderbird or K-9 mail) - Is this required feature? I noted that if I 
disable it I still getting news mails without having to check for new 
mails manually - .

I noted that dovecot is creating a lot of process (dovecot/imap and 
dovecot/imap-login) and is requiring more and more RAM.
I think that every login starts a process but never is endend.

The output of /*ps aux | grep dovecot | wc*/ is increasing until 250 
lines aprox. I think that is limited by process_limit = 256. But if I 
put process_limit = 100, in the log appers a message that dovecot is 
aborting logins (and I noted that new connections sometimes couldn't login).

Anyway the mailserver is working well, but I'm afraid of the consumtion 
of RAM.

Is that normal?

Details:
# 2.0.19: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-36-generic-pae i686 Ubuntu 12.04.1 LTS nfs
auth_mechanisms = plain login
dotlock_use_excl = no
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_fsync = always
mail_location = maildir:/mnt/vmail/%d/%n/Maildir
mail_privileged_group = mail
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 vacation-seconds
mmap_disable = yes
namespace {
   inbox = yes
   location =
   prefix =
   separator = .
   subscriptions = yes
   type = private
}
passdb {
   args = /etc/dovecot/dovecot-sql.conf
   driver = sql
}
plugin {
   autocreate = Trash
   autocreate2 = Sent
   autocreate3 = Drafts
   autosubscribe = Trash
   autosubscribe2 = Sent
   autosubscribe3 = Drafts
   sieve = /mnt/vmail/%d/%n/Maildir/.dovecot.sieve
   sieve_dir = ~/sieve
   sieve_extensions = +vacation-seconds
   sieve_global_dir = /etc/dovecot/sieve_global_dir
   sieve_global_path = /etc/dovecot/default.sieve
   sieve_vacation_default_period = 2s
   sieve_vacation_max_period = 3s
   sieve_vacation_min_period = 1s
}
protocols = imap lmtp sieve
service auth {
   unix_listener /var/spool/postfix/private/auth {
     group = postfix
     mode = 0660
     user = postfix
   }
   unix_listener auth-master {
     group = vmail
     mode = 0600
     user = vmail
   }
   user = root
}
service imap-login {
   inet_listener imap {
     port = 0
   }
   process_limit = 256
}
service managesieve-login {
   inet_listener sieve {
     port = 4190
   }
   process_min_avail = 1
   service_count = 1
   vsz_limit = 64 M
}
service managesieve {
   process_limit = 10
}
service pop3-login {
   process_limit = 256
}
ssl = required
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
   driver = passwd
}
userdb {
   args = uid=5000 gid=5000 home=/mnt/vmail/%d/%n allow_all_users=yes
   driver = static
}
protocol imap {
   imap_capability = IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID 
ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND 
UNSELECT CHILDREN NAMESPACE UIDP LUS LIST-EXTENDED I18NLEVEL=1 ESEARCH 
ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS
   mail_plugins = autocreate
}
protocol pop3 {
   pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
   auth_socket_path = /var/run/dovecot/auth-master
   log_path = /var/log/dovecot-deliver.log
   mail_plugins = " sieve"
   postmaster_address = ###@###.###
}
protocol sieve {
   info_log_path = /var/log/dovecot-sieve.log
   log_path = /var/log/dovecot-sieve-errors.log
   managesieve_implementation_string = dovecot
   managesieve_max_line_length = 65536
}
protocol lmtp {
   info_log_path = /var/log/dovecot-lmtp.log
   log_path = /var/log/dovecot-lmtp-errors.log
   mail_plugins = " sieve"
}

Thank-you very much.



More information about the dovecot mailing list