Hi Timo, thanks for explaining how amount of the file descriptor may be counted.
Timo Sirainen wrote:
On Thu, 2007-10-18 at 15:16 -0400, Sergey wrote:
Thank you for pointing me about -xc99 flag, I have compiled and installed dovecot inplace of version 1.0.5 without any special actions on the upgrade. And after starting it immediately got in it's log file messages like:
dovecot: Oct 16 23:10:18 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.git-altlinux-ru/dovecot.index.cache: Invalid argument
Could you apply this patch and see what it logs then: http://hg.dovecot.org/dovecot/rev/b7d8695d864d
I have applied the patch and now I have in the dovecot.log after just 'make install in the new dovecot-1.1 and dovecot-sieve-1.1 dirs, on the opening of the imap Maildir folder:
dovecot: Oct 21 04:00:30 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/.dovecot-cvs-dovecot-org/dovecot.index.cache: Invalid argument dovecot: Oct 21 04:00:30 Error: IMAP(seriv): posix_fallocate() failed: Invalid argument ...
about 10 times a second.
Then I pkill'ed dovecot and did
find /var/spool/imap/ -name 'dovecot.index*' | xargs rm -rf
but got similar messages with new string added before each of them:
dovecot: Oct 21 04:17:35 Error: IMAP(seriv): posix_fallocate() failed: Invalid argument dovecot: Oct 21 04:17:35 Error: IMAP(seriv): file_set_size() failed with index cache file /var/spool/imap/seriv/.imap/dovecot.index.cache: Invalid argument
And, after I enabled smtp service and sent email to myself, I see in dovecot.log
deliver(seriv): Oct 21 04:17:05 Error: posix_fallocate() failed: Invalid argument deliver(seriv): Oct 21 04:17:06 Error: posix_fallocate() failed: Invalid argument
dovecot: Oct 16 23:52:28 Panic: IMAP(seriv): file client.c: line 105: assertion failed: (!client->destroyed)
Yes, no anything like this after applying the patch.
dovecot: Oct 18 15:02:58 Warning: fd limit 256 is lower than what Dovecot can use under full load (more than 384). Either grow the limit or change login_max_processes_count a nd max_mail_processes settings
..
One more problem is with fd limit: I have a small dovecot installation, so don't want to increase fd limit. I tried to decreasee max_mail_processes, login_max_processes_count and login_max_connections, but still I have
..
login_max_connections: 120 max_mail_processes: 128
Changing login_max_connections doesn't affect anything because you're using login_process_per_connection=yes.
The needed fd count is calculated from login_max_processes_count(pop3) + login_max_processes_count(imap) + max_mail_processes.
So in your case 128+128+128.
-- With best regards, Sergey Ivanov