Andy, This sounds like a kernel parameter issue, not a dovecot.conf twiddle. My system supports 3000 users, and "ulimit -a" has no mention of "open files" at all. With maildir format, you would have a lot of open files (I use mbox).
My /etc/system has the following additions, which I put in when I first started using alpha3:
- double file descriptor limits for dovecot set rlim_fd_cur = 65536 set rlim_fd_max = 131072
I don't have any ulimit or plimit twiddles in my startup script, as others have suggested. Per their advice, use plimit or adb to adjust things until you can change /etc/system and reboot.
Jeff Earickson Colby College
On Tue, 20 Dec 2005, Andy Cravens wrote:
Date: Tue, 20 Dec 2005 16:59:08 -0700 From: Andy Cravens acravens@uen.org To: dovecot@dovecot.org Subject: [Dovecot] Another "Too many files open" post
I'm running Solaris 9 Sparc with Dovecot alpha 5 and using maildir format.. I noticed in the log file the following error:
dovecot: Dec 20 15:54:18 Error: imap(xxxxxxxx): open(/export/home/xxxxxxxx/mail/.Sent Messages/cur/1135013649.002916.mbox:2,Sab) failed: Too many open files
I called the guy and asked him what he was doing... synching his folders. It hung for a while but finally finished.
I searched the archives and found some related info from Jeff Ballard:
Actually on Solaris 9 you want to put something like this in >/etc/system:
set rlim_fd_cur = 32768 set rlim_fd_max = 65536
That sets the current fd's to 32k and max to 64k. Unfortunately, to >take effect you'll need to reboot. After the reboot, ulimit -a should >show that nofiles(descriptors) is 32768.
-Jeff
And I found this from Jeff Earickson:
I ran into this problem with alpha4 on Solaris 9. I doubled the following dovecot settings:
login_max_processes_count = 256 (was 128) login_max_logging_users = 512 (was 256)
and the problem went away. I carried these numbers forward intoalpha5, and it has been working fine.
I changed my /etc/system file but have not rebooted yet. Also, on Jeff Earickson's post, I looked at my dovecot.conf settings and they're basically default which means everything in the "Login processes" section is commented out.
I have 10 users on this system and will hold off migrating any more until I can resolve this problem. By the way, my "ulimit -a" shows "open files" at 256 which seems low.
# ulimit -a core file size (blocks) 0 data seg size (kbytes) unlimited file size (blocks) unlimited open files 256 pipe size (512 bytes) 10 stack size (kbytes) 8192 cpu time (seconds) unlimited max user processes 29995 virtual memory (kbytes) unlimited
Any advice would be appreciated. I can't reboot for a few more days.