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-----