I posted some questions a few months back and received lots of great help in getting my dovecot/postfix/LDAP setup working. Initially, I ran into the pipe failed too many open files error. I am running this setup on OpenBSD/sparc64 4.1-stable and so I put dovecot in its own class and upped the maxfiles setting for that class. This was back with dovecot 1.0 and everything worked fine. I just recently upgraded to dovecot 1.0.2 from ports and now I am having the same problems again. I moved kern.maxfiles for that class from 2048 up to 3404 and yet I still run into the error. When I do, I have to restart dovecot to get things running again. Output of: su -c dovecot root -c 'ulimit -a' time(cpu-seconds) unlimited file(blocks) unlimited coredump(blocks) unlimited data(kbytes) 1048576 stack(kbytes) 8192 lockedmem(kbytes) 634482 memory(kbytes) 1898080 nofiles(descriptors) 3404 processes 1044 sysctl kern.maxfiles gives: kern.maxfiles=3404 My main IMAP accounts reside on this server and I have somewhere in the 25000 range of stored messages. Could this be causing the issue? I only have maybe a dozen other users using this server right now but I am planning on putting 500 users on it soon. I added another heavy IMAP user shortly before these problems started but I don't know if that has anything to do with it or not. Likewise, I am not sure if the dovecot 1.0.2 upgrade had any effect either although it did coincide. Any ideas? Thank you. Bryan
On Wed, Aug 01, 2007 at 09:19:11AM -0700, Bryan Vyhmeister wrote:> I posted some questions a few months back and received lots of great > help in getting my dovecot/postfix/LDAP setup working. Initially, I > ran into the pipe failed too many open files error. I am running this > setup on OpenBSD/sparc64 4.1-stable and so I put dovecot in its own > class and upped the maxfiles setting for that class. This was back > with dovecot 1.0 and everything worked fine. I just recently upgraded > to dovecot 1.0.2 from ports and now I am having the same problems > again. I moved kern.maxfiles for that class from 2048 up to 3404 and > yet I still run into the error. When I do, I have to restart dovecot > to get things running again.Sounds more like a file descriptor leak. Check fstat output so see what kind of descriptors are leaked, how fast, etc. -- Quentin Garnier - cube at cubidou.net - cube at NetBSD.org "You could have made it, spitting out benchmarks Owe it to yourself not to fail" Amplifico, Spitting Out Benchmarks, Hometakes Vol. 2, 2005. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 478 bytes Desc: not available URL: <http://dovecot.org/pipermail/dovecot/attachments/20070801/c9f7439f/attachment-0002.bin>
On Aug 1, 2007, at 9:25 AM, Quentin Garnier wrote:> Sounds more like a file descriptor leak. Check fstat output so see > what > kind of descriptors are leaked, how fast, etc.Thank you for your quick response. Unfortunately, I restarted dovecot this morning and so this probably isn't very helpful now but here it is anyway. What should I be looking for to indicate a leak? The outputs of 'fstat -u _dovecot' and 'fstat -u _dovecot_login' follow: USER CMD PID FD MOUNT INUM MODE R/W DV|SZ _dovecot imap 3328 wd /d 1504391 drwx------ r 1024 _dovecot imap 3328 0* internet stream tcp 0x4000d4cba50 66.81.83.13:143 <-- 66.81.83.3:52591 _dovecot imap 3328 1* internet stream tcp 0x4000d4cba50 66.81.83.13:143 <-- 66.81.83.3:52591 _dovecot imap 3328 2 pipe 0x4000d439c90 state: _dovecot imap 3328 3 / 475071 crw-r--r-- r urandom _dovecot imap 3328 4 kqueue 0x4000d4c7d00 0 state: W _dovecot imap 3328 5 pipe 0x4000d6c7480 state: _dovecot imap 3328 6 pipe 0x4000d6c7480 state: _dovecot imap 3328 9 /d 1526304 -rw------- rw 152352 _dovecot imap 3328 10 /d 1526287 -rw------- rw 9344 _dovecot imap 3328 11 /d 1514861 -rw------- rw 7173120 _dovecot imap 10524 wd /d 1508155 drwx------ r 2048 _dovecot imap 10524 0* internet stream tcp 0x4000d4cb820 66.81.83.13:143 <-- 66.81.83.3:52699 _dovecot imap 10524 1* internet stream tcp 0x4000d4cb820 66.81.83.13:143 <-- 66.81.83.3:52699 _dovecot imap 10524 2 pipe 0x4000d6c7700 state: _dovecot imap 10524 3 / 475071 crw-r--r-- r urandom _dovecot imap 10524 4 kqueue 0x4000d4c7200 0 state: W _dovecot imap 10524 5 pipe 0x4000d6c7d00 state: _dovecot imap 10524 6 pipe 0x4000d6c7d00 state: _dovecot imap 32143 wd /d 1628354 drwx------ r 512 _dovecot imap 32143 0* internet stream tcp 0x4000d2f86c0 66.81.83.13:143 <-- 66.81.83.3:50414 _dovecot imap 32143 1* internet stream tcp 0x4000d2f86c0 66.81.83.13:143 <-- 66.81.83.3:50414 _dovecot imap 32143 2 pipe 0x4000d6c7080 state: _dovecot imap 32143 3 / 475071 crw-r--r-- r urandom _dovecot imap 32143 4 kqueue 0x4000d4c7a00 0 state: W _dovecot imap 32143 5 pipe 0x4000d439a90 state: _dovecot imap 32143 6 pipe 0x4000d439a90 state: _dovecot imap 1563 wd /d 1794316 drwx------ r 512 _dovecot imap 1563 0* internet stream tcp 0x4000d4ca010 66.81.83.13:143 <-- 10.80.1.249:24288 _dovecot imap 1563 1* internet stream tcp 0x4000d4ca010 66.81.83.13:143 <-- 10.80.1.249:24288 _dovecot imap 1563 2 pipe 0x4000d6c7a80 state: _dovecot imap 1563 3 / 475071 crw-r--r-- r urandom _dovecot imap 1563 4 kqueue 0x4000d4c6200 0 state: W _dovecot imap 1563 5 pipe 0x4000d6c7c00 state: _dovecot imap 1563 6 pipe 0x4000d6c7c00 state: _dovecot imap 9679 wd /d 1772316 drwx------ r 512 _dovecot imap 9679 0* internet stream tcp 0x4000d2f93e0 66.81.83.13:143 <-- 66.81.83.3:54735 _dovecot imap 9679 1* internet stream tcp 0x4000d2f93e0 66.81.83.13:143 <-- 66.81.83.3:54735 _dovecot imap 9679 2 pipe 0x4000d6c6e00 state: _dovecot imap 9679 3 / 475071 crw-r--r-- r urandom _dovecot imap 9679 4 kqueue 0x4000d4c7c00 0 state: W _dovecot imap 9679 5 pipe 0x4000d6c7980 state: _dovecot imap 9679 6 pipe 0x4000d6c7980 state: _dovecot imap 27728 wd /d 1772316 drwx------ r 512 _dovecot imap 27728 0* internet stream tcp 0x4000d2f8030 66.81.83.13:143 <-- 66.81.83.3:61851 _dovecot imap 27728 1* internet stream tcp 0x4000d2f8030 66.81.83.13:143 <-- 66.81.83.3:61851 _dovecot imap 27728 2 pipe 0x4000d6c7c80 state: _dovecot imap 27728 3 / 475071 crw-r--r-- r urandom _dovecot imap 27728 4 kqueue 0x4000d4c7300 0 state: W _dovecot imap 27728 5 pipe 0x4000d6c7680 state: _dovecot imap 27728 6 pipe 0x4000d6c7680 state: _dovecot imap 27728 7 /d 1772398 -rw------- rw 384 _dovecot imap 27728 8 /d 1772332 -rw------- rw 3480 _dovecot imap 27728 9 /d 1772337 -rw------- rw 21504 _dovecot imap 23686 wd /d 1525067 drwx------ r 512 _dovecot imap 23686 0* internet stream tcp 0x4000d4cbc80 66.81.83.13:143 <-- 66.81.83.3:56740 _dovecot imap 23686 1* internet stream tcp 0x4000d4cbc80 66.81.83.13:143 <-- 66.81.83.3:56740 _dovecot imap 23686 2 pipe 0x4000d439d90 state: _dovecot imap 23686 3 / 475071 crw-r--r-- r urandom _dovecot imap 23686 4 kqueue 0x4000d4c7b00 0 state: W _dovecot imap 23686 5 pipe 0x4000d438490 state: _dovecot imap 23686 6 pipe 0x4000d438490 state: _dovecot imap 18754 wd /d 1504391 drwx------ r 1024 _dovecot imap 18754 0* internet stream tcp 0x4000ce92720 66.81.83.13:143 <-- 66.81.83.3:56072 _dovecot imap 18754 1* internet stream tcp 0x4000ce92720 66.81.83.13:143 <-- 66.81.83.3:56072 _dovecot imap 18754 2 pipe 0x4000d439c10 state: _dovecot imap 18754 3 / 475071 crw-r--r-- r urandom _dovecot imap 18754 4 kqueue 0x4000d4c7e00 0 state: W _dovecot imap 18754 5 pipe 0x4000d439510 state: _dovecot imap 18754 6 pipe 0x4000d439510 state: _dovecot imap 18754 9 /d 1514852 -rw------- rw 28064 _dovecot imap 18754 10 /d 1516770 -rw------- rw 59832 _dovecot imap 18754 11 /d 1514853 -rw------- rw 1313792 _dovecot imap 25773 wd /d 1607430 drwx------ r 512 _dovecot imap 25773 0* internet stream tcp 0x4000ce93d00 66.81.83.13:143 <-- 66.81.83.3:55608 _dovecot imap 25773 1* internet stream tcp 0x4000ce93d00 66.81.83.13:143 <-- 66.81.83.3:55608 _dovecot imap 25773 2 pipe 0x4000d6c7800 state: _dovecot imap 25773 3 / 475071 crw-r--r-- r urandom _dovecot imap 25773 4 kqueue 0x4000d4c7900 0 state: W _dovecot imap 25773 5 pipe 0x4000d439910 state: _dovecot imap 25773 6 pipe 0x4000d439910 state: fstat -u _dovecot_login USER CMD PID FD MOUNT INUM MODE R/W DV|SZ _dovecot imap-login 3436 root / 1319570 drwxr-x--- r 512 _dovecot imap-login 3436 wd / 1319570 drwxr-x--- r 512 _dovecot imap-login 3436 0* internet stream tcp 0x4000d50fa40 *:143 _dovecot imap-login 3436 1* internet stream tcp 0x4000d4ca240 *:993 _dovecot imap-login 3436 2 pipe 0x4000d439710 state: _dovecot imap-login 3436 3* unix stream 0x400024f7c00 <-> 0x4000250f400 _dovecot imap-login 3436 4 / 475071 crw-r--r-- r urandom _dovecot imap-login 3436 5 kqueue 0x4000d4c6400 0 state: W _dovecot imap-login 3436 6 pipe 0x4000d439f10 state: _dovecot imap-login 3436 7 pipe 0x4000d439f10 state: _dovecot imap-login 3436 9* unix stream 0x40002485e00 <-> 0x400024fb900 _dovecot imap-login 18776 root / 1319570 drwxr-x--- r 512 _dovecot imap-login 18776 wd / 1319570 drwxr-x--- r 512 _dovecot imap-login 18776 0* internet stream tcp 0x4000d50fa40 *:143 _dovecot imap-login 18776 1* internet stream tcp 0x4000d4ca240 *:993 _dovecot imap-login 18776 2 pipe 0x4000d439110 state: _dovecot imap-login 18776 3* unix stream 0x40002515480 <-> 0x40002523d80 _dovecot imap-login 18776 4 / 475071 crw-r--r-- r urandom _dovecot imap-login 18776 5 kqueue 0x4000d4c6900 0 state: W _dovecot imap-login 18776 6 pipe 0x4000d439810 state: _dovecot imap-login 18776 7 pipe 0x4000d439810 state: _dovecot imap-login 18776 9* unix stream 0x40002405e80 <-> 0x40002528a00 _dovecot pop3-login 13031 root / 1319570 drwxr-x--- r 512 _dovecot pop3-login 13031 wd / 1319570 drwxr-x--- r 512 _dovecot pop3-login 13031 0* internet stream tcp 0x4000d2f8b20 *:110 _dovecot pop3-login 13031 1* internet stream tcp 0x4000d2f88f0 *:995 _dovecot pop3-login 13031 2 pipe 0x4000d439610 state: _dovecot pop3-login 13031 3* unix stream 0x40002517200 <-> 0x40002404200 _dovecot pop3-login 13031 4 / 475071 crw-r--r-- r urandom _dovecot pop3-login 13031 5 kqueue 0x4000d4c7500 0 state: W _dovecot pop3-login 13031 6 pipe 0x4000d6c7d80 state: _dovecot pop3-login 13031 7 pipe 0x4000d6c7d80 state: _dovecot pop3-login 13031 9* unix stream 0x40002519f80 <-> 0x40002527300 _dovecot imap-login 25333 root / 1319570 drwxr-x--- r 512 _dovecot imap-login 25333 wd / 1319570 drwxr-x--- r 512 _dovecot imap-login 25333 0* internet stream tcp 0x4000d50fa40 *:143 _dovecot imap-login 25333 1* internet stream tcp 0x4000d4ca240 *:993 _dovecot imap-login 25333 2 pipe 0x4000d6c7200 state: _dovecot imap-login 25333 3* unix stream 0x400023ab080 <-> 0x40002422700 _dovecot imap-login 25333 4 / 475071 crw-r--r-- r urandom _dovecot imap-login 25333 5 kqueue 0x4000d4c6100 0 state: W _dovecot imap-login 25333 6 pipe 0x4000d6c7780 state: _dovecot imap-login 25333 7 pipe 0x4000d6c7780 state: _dovecot imap-login 25333 9* unix stream 0x4000238a900 <-> 0x400024fbe00 _dovecot imap-login 22287 root / 1319570 drwxr-x--- r 512 _dovecot imap-login 22287 wd / 1319570 drwxr-x--- r 512 _dovecot imap-login 22287 0* internet stream tcp 0x4000d50fa40 *:143 _dovecot imap-login 22287 1* internet stream tcp 0x4000d4ca240 *:993 _dovecot imap-login 22287 2 pipe 0x4000d439990 state: _dovecot imap-login 22287 3* unix stream 0x4000250c080 <-> 0x40002516300 _dovecot imap-login 22287 4 / 475071 crw-r--r-- r urandom _dovecot imap-login 22287 5 kqueue 0x4000d4c7800 0 state: W _dovecot imap-login 22287 6 pipe 0x4000d6c7900 state: _dovecot imap-login 22287 7 pipe 0x4000d6c7900 state: _dovecot imap-login 22287 9* unix stream 0x4000252c300 <-> 0x400024f3600 _dovecot imap-login 23627 root / 1319570 drwxr-x--- r 512 _dovecot imap-login 23627 wd / 1319570 drwxr-x--- r 512 _dovecot imap-login 23627 0* internet stream tcp 0x4000d50fa40 *:143 _dovecot imap-login 23627 1* internet stream tcp 0x4000d4ca240 *:993 _dovecot imap-login 23627 2 pipe 0x4000d438a10 state: _dovecot imap-login 23627 3* unix stream 0x4000250ba80 <-> 0x4000251ef00 _dovecot imap-login 23627 4 / 475071 crw-r--r-- r urandom _dovecot imap-login 23627 5 kqueue 0x4000d4c7000 0 state: W _dovecot imap-login 23627 6 pipe 0x4000d438d90 state: _dovecot imap-login 23627 7 pipe 0x4000d438d90 state: _dovecot imap-login 23627 9* unix stream 0x400024f3280 <-> 0x40002504c00 _dovecot pop3-login 28303 root / 1319570 drwxr-x--- r 512 _dovecot pop3-login 28303 wd / 1319570 drwxr-x--- r 512 _dovecot pop3-login 28303 0* internet stream tcp 0x4000d2f8b20 *:110 _dovecot pop3-login 28303 1* internet stream tcp 0x4000d2f88f0 *:995 _dovecot pop3-login 28303 2 pipe 0x4000d438c10 state: _dovecot pop3-login 28303 3* unix stream 0x40002514500 <-> 0x400024f6000 _dovecot pop3-login 28303 4 / 475071 crw-r--r-- r urandom _dovecot pop3-login 28303 5 kqueue 0x4000d4c6300 0 state: W _dovecot pop3-login 28303 6 pipe 0x4000d439b10 state: _dovecot pop3-login 28303 7 pipe 0x4000d439b10 state: _dovecot pop3-login 28303 9* unix stream 0x400024f7a00 <-> 0x400024f3980 _dovecot pop3-login 20519 root / 1319570 drwxr-x--- r 512 _dovecot pop3-login 20519 wd / 1319570 drwxr-x--- r 512 _dovecot pop3-login 20519 0* internet stream tcp 0x4000d2f8b20 *:110 _dovecot pop3-login 20519 1* internet stream tcp 0x4000d2f88f0 *:995 _dovecot pop3-login 20519 2 pipe 0x4000d439d10 state: _dovecot pop3-login 20519 3* unix stream 0x4000252c900 <-> 0x40002484880 _dovecot pop3-login 20519 4 / 475071 crw-r--r-- r urandom _dovecot pop3-login 20519 5 kqueue 0x4000d4c6f00 0 state: W _dovecot pop3-login 20519 6 pipe 0x4000d439e90 state: _dovecot pop3-login 20519 7 pipe 0x4000d439e90 state: _dovecot pop3-login 20519 9* unix stream 0x40002504580 <-> 0x4000250f680 _dovecot pop3-login 13249 root / 1319570 drwxr-x--- r 512 _dovecot pop3-login 13249 wd / 1319570 drwxr-x--- r 512 _dovecot pop3-login 13249 0* internet stream tcp 0x4000d2f8b20 *:110 _dovecot pop3-login 13249 1* internet stream tcp 0x4000d2f88f0 *:995 _dovecot pop3-login 13249 2 pipe 0x4000d439490 state: _dovecot pop3-login 13249 3* unix stream 0x4000251be80 <-> 0x40002372800 _dovecot pop3-login 13249 4 / 475071 crw-r--r-- r urandom _dovecot pop3-login 13249 5 kqueue 0x4000d4c6c00 0 state: W _dovecot pop3-login 13249 6 pipe 0x4000d438c90 state: _dovecot pop3-login 13249 7 pipe 0x4000d438c90 state: _dovecot pop3-login 13249 9* unix stream 0x4000252b080 <-> 0x4000250fa00 _dovecot pop3-login 30768 root / 1319570 drwxr-x--- r 512 _dovecot pop3-login 30768 wd / 1319570 drwxr-x--- r 512 _dovecot pop3-login 30768 0* internet stream tcp 0x4000d2f8b20 *:110 _dovecot pop3-login 30768 1* internet stream tcp 0x4000d2f88f0 *:995 _dovecot pop3-login 30768 2 pipe 0x4000d439b90 state: _dovecot pop3-login 30768 3* unix stream 0x40002520600 <-> 0x40002484c00 _dovecot pop3-login 30768 4 / 475071 crw-r--r-- r urandom _dovecot pop3-login 30768 5 kqueue 0x4000d4c6d00 0 state: W _dovecot pop3-login 30768 6 pipe 0x4000d439410 state: _dovecot pop3-login 30768 7 pipe 0x4000d439410 state: _dovecot pop3-login 30768 9* unix stream 0x40002423880 <-> 0x400023bd700
On Aug 7, 2007, at 10:29 AM, Quentin Garnier wrote:>> Well, I have not had a single instance of the "Too many files" error >> since. Everything is working smoothly. I'll see about getting the >> patch into OpenBSD if possible. I'll get that tutorial done as well. > > I'll send a mail to bugs at openbsd.org with the patch.Sounds great. Thank you. Bryan