I'm still having issues with FAM. It seems to work fine until I access a large Maildir (100,000 messages). Then famd jumps to 99% utilization and stays there. I'm becoming convinced that this is not so much a FAM/Courier issue as it is a limitation of the FAM/dnotify system. The way I understand it (and if I'm wrong, please correct me):

 -imapd in ENHANCED idle mode tells fam to monitor a Maildir.
-dnotify is the linux kernel directory notify. FAM attaches to this service and asks to be told when changes are made to the *directory*. -dnotify let's FAM know a change to the directory has been made but can't tell FAM what file has been added/modified/removed
 -FAM must scan the Maildir for changed files
-FAM reports changes to imapd which in turn reports them to the idleing IMAP client, providing quick updates w/o polling

I believe the issue here is that FAM has a lot of work to do when dnotify tells it something in the large Maildir has changed but not what it is. This is what pushes famd's resource usage through the roof. I see a few solutions/workarounds to this:

1) don't use FAM.  Clients will rely on polling which eats up more CPU...
2) use gamin with inotify instead of dnotify support. inotify apparently improves on many of dnotify's failures. It can tell gamin exactly what files have changed if I understand correctly. This seems to be the ultimate solution but inotify isn't included except in the most bleeding edge kernels (2.6.13 and FC5 test kernels as I understand it), not an option for RHEL4... 3) Limit Maildirs to 10,000 messages or so. This would be an acceptable option if I could limit each subfolder to no more than 10,000 messages. But it looks like virtual quotas limit total messages per an account not per subfolder. I don't mind limiting users to 10,000 message per folder but I'd rather not limit them to 10,000 messages total.

Any other thoughts? Does anyone have famd working successfully with very large Maildir's? How are you doing it? (Fam/gamin inotify/dnotify/polling, etc). Thanks for any tips you can provide...

Jay
begin:vcard
fn:Jay Lee
n:Lee;Jay
org:Philadelphia Biblical University;Information Technology Department
email;internet:[EMAIL PROTECTED]
title:Network / Systems Administrator
version:2.1
end:vcard

Reply via email to