Since upgrading to s11b83a I noticed that gam_server processes eat significant amount of CPU cycles. So I decided to make some investigations.

# uname -a
SunOS xeon 5.11 snv_83 i86pc i386 i86pc
# pkginfo -l SUNWgamin
PKGINST: SUNWgamin
NAME: Library providing the FAM File Alteration Monitor API
CATEGORY: GNOME2,application,JDS4
ARCH: i386
VERSION: 0.1.9,REV=110.0.4.2008.01.28.02.48
. . .
# fgrep SUNWgamin /var/sadm/install/contents
/usr/lib/gam_server f …
/usr/lib/libfam.so=libfam.so.0.0.0 s …
/usr/lib/libfam.so.0=libfam.so.0.0.0 s …
/usr/lib/libfam.so.0.0.0 f …
/usr/lib/libgamin-1.so=libgamin-1.so.0.1.9 s …
/usr/lib/libgamin-1.so.0=libgamin-1.so.0.1.9 s …
/usr/lib/libgamin-1.so.0.1.9 f …
/usr/lib/python2.4/vendor-packages/_gamin.so f …
/usr/lib/python2.4/vendor-packages/gamin.py f …

No manuals, no config files.

# strings /usr/lib/gam_server
. . .
/.gaminrc
/etc/gamin/mandatory_gaminrc
/etc/gamin/gaminrc

From Gamin project page:

Gamin is a file and directory monitoring system defined to be a subset of the FAM (File Alteration Monitor) system. This is a service provided by a library which allows to detect when a file or a directory has been modified.

This is the description of the config file: Gamin config


Now, how to fix the problem

  1. Create /etc/gamin directory:
    # mkdir /etc/gamin
  2. Create file /etc/gamin/gaminrc. It may contain the following lines (this is just an example, you can set your own polling intervals):
    fsset nfs poll 15
    fsset ufs poll 15
    fsset lofs poll 15
    fsset zfs poll 15
  3. Restart gam_server (let me know if there is a better way):
    # pkill gam_server; rm -rf /tmp/gam_*

Voila! That should be done in all zones.

Update 2008-07-07 @00:06:24: i did not see this behaviour in snv_92. However, do not install snv_92 because of otehr bugs. Try snv_93.

Related posts:

  1. How to compile Bluefish 1.3.x under OpenSolaris or Solaris Nevada Get intltool package (for example, from blastwave) If you use...
  2. Solaris 11 EA (b173) ZFS pool versions Solaris 11 EA (Sep 2011 build 173) updated zpool version...
  3. QNAP NAS, Solaris and NFS I thought that nothing could be easier on Solaris than...
  4. Compiling Kompozer for Solaris The first attempt to compile Kompozer for Solaris Two macros...