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