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.
Since you are setting it manually anyway, try to reomove IDLE from your imap_capability. See http://tools.ietf.org/html/rfc2177 Also check out verbose_proctitle. On 01/30/2013 10:09 AM, Juan Cifo Servera wrote:> 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. > >
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Wed, 30 Jan 2013, Juan Cifo Servera wrote:> 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 - .That depends on the client, they can IDLE to wait for new mail. That requires one open connection per checked mail folder.> 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 processes vanisch if the client terminates the connection.> Is that normal?Yes.> Details:You could try decreasing conf.d/20-imap.conf: # Maximum number of IMAP connections allowed for a user from each IP address. # NOTE: The username is compared case-sensitively. #mail_max_userip_connections = 10 - -- Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEVAwUBUQk86F3r2wJMiz2NAQKmoAf9Ed1vCvA9X/7l1NU7J8afcKKLDhOhd9GB OPeaug3IQQp9PGtP/6m72FcJlb4s4mT+l4u9gnmsMnSMWDhjz7iufRTjDmMOOpnx s2s3d9IIyIhUnNA1ekl/UtY1X1GxmWmlKwsIS1RDA0pEk4HkVh6gHvCyPDZp0eht H6ffkV2yOrZ9bdpgR68yfheOrDp1jlNEY0nr9zXI8W0mET8pyLo+Ccbwa8Xx+ClR io8ZLIuZPHOT+f/+T3rN0FvXAQII3hkQ2JvgkpI85UJrlUcBSrxnHGGYtbd567y4 GUaGk18HdlSXECvOZPeqce3wzb/Zr4fQtuRQOCSgJLSjW0s4I2OYHQ==+ZsH -----END PGP SIGNATURE-----