File Alteration Monitor
In computing, the File Alteration Monitor, also known as FAM and sgi_fam, provides a subsystem developed by Silicon Graphics for Unix-like operating systems. The FAM subsystem allows applications to watch certain files and be notified when they are modified. This greatly aids the applications, because before FAM existed, such applications would have to read the disk repeatedly to detect any changes, which resulted in high disk and CPU usage.
For example, a file manager application can detect if some file has changed and can then update a displayed icon and/or filename.
The FAM system consists of two parts:
-
famd
— the FAM Daemon, which provides notifications and listens for requests. Administrators can configure it by editing the file/etc/fam.conf
-
libfam
— the interface to the client
Although FAM may seem unnecessary now that many newer kernels include built-in notification support (inotify in Linux, for example), using FAM provides two benefits:
- Consistently using FAM enables applications to work on a greater variety of platforms, agnostic of the kernel.
- FAM is network-aware, and if a monitor is started on an NFS share, it will attempt to contact a FAM server on the NFS server and have it monitor the file locally, which is more efficient.
The main problem with FAM is that during the creation of a large number of files (for example during the first login in a desktop environment) it slows down the entire system, using many CPU cycles.
See also
- kqueue (FreeBSD)
- inotify (Linux)
- dnotify (Linux; predecessor of inotify)
- Gamin (Linux, FreeBSD)
- FSEvents (Mac OS)
- portmap (SunOS)
- TCP Wrapper/libwrap
References
External links
- The FAM homepage
- The Watchful Eye of FAM – Linuxdevcenter article