[Dovecot] Error: file_dotlock_open() failed with file + Too many open files
Hi All,
We are getting these below error on our IMAP server.
is this because of open file limits.??
We have set it to 4096.
[root@vish conf.d]# ulimit -n 4096
Aug 27 16:08:26 imap(kavish.karkera@example.com-24685): Error: file_dotlock_open() failed with file /data/quarantine/index//data/quarantine/mailstore/24685/.INBOX.kavish.karkera/dovecot.index.cache: Too many open files
Aug 27 16:08:26 imap(kavish.karkera@example.com-24685): Error: open(/data/quarantine/index//data/quarantine/mailstore/24685/.INBOX.kavish.karkera/dovecot.index.cache.lock) failed: Too many open files
Below is our dovecot conf file.
====================================================================== # 2.2.5: /usr/local/dovecot-2.2.5/etc/dovecot-imap/dovecot.conf # OS: Linux 2.6.18-194.26.1.el5 x86_64 CentOS release 5.5 (Final) auth_socket_path = /usr/local/var/run/dovecot2.2-imap/auth-userdb base_dir = /usr/local/var/run/dovecot2.2-imap/ default_vsz_limit = 1 G first_valid_gid = 99 first_valid_uid = 99 hostname = log_path = /var/log/dovecot2.2-imap.log mail_location = maildir:~:INDEX=/data/quarantine/index/%h:CONTROL=/data/quarantine/index/%h mail_plugins = " virtual notify" namespace { inbox = no location = prefix = separator = . type = private } namespace { hidden = yes inbox = yes list = yes location = virtual:~/virtual:LAYOUT=maildir++:INDEX=~/virtual:CONTROL=~/virtual prefix = virtual. separator = . subscriptions = no type = private } namespace { hidden = yes inbox = no list = no location = maildir:~:INDEX=/data/quarantine/index/%h:CONTROL=/data/quarantine/index/%h:LAYOUT=maildir++ prefix = boxvirtual. separator = . subscriptions = no type = private } passdb { args = /usr/local/dovecot-2.2.5/etc/dovecot-imap/dovecot-sql.conf.ext driver = sql } protocols = imap service auth { unix_listener auth-userdb { group = nobody mode = 0666 user = nobody } } service imap-login { inet_listener imap { port = 20143 } vsz_limit = 1 G } service imap-postlogin { executable = script-login -d /usr/local/bin/dovecot.virtual.sh unix_listener imap-postlogin { mode = 0666 } } service imap { executable = /usr/local/dovecot-2.2.5/libexec/dovecot/imap imap-postlogin vsz_limit = 1 G } ssl = no userdb { args = /usr/local/dovecot-2.2.5/etc/dovecot-imap/dovecot-sql.conf.ext driver = sql } protocol imap { mail_max_userip_connections = 1000 mail_plugins = " virtual notify" }
Regards, Kavish Karkera
On 27.8.2013, at 13.56, Kavish Karkera <kavish.karkera@yahoo.com> wrote:
We are getting these below error on our IMAP server.
is this because of open file limits.??
I guess it's because you have a virtual mailbox that consists of a ton of real mailboxes? Unfortunately the virtual mailboxes currently open all of the real mailboxes' index files immediately and keep them all open. This will be fixed some day in future, but for now you need enough file descriptors for them all.
We have set it to 4096.
[root@vish conf.d]# ulimit -n 4096
Dovecot's init script could have changed it. You need to look at the running dovecot process's limits to be sure:
cat /proc/pidof dovecot
/limits | grep 'Max open files'
participants (2)
-
Kavish Karkera
-
Timo Sirainen