Nauilus stops showing directory changes after an unknown amount of time

I cannot pinpoint the exact cause, but I can, for example, "touch newfile" in a directory or on my Desktop, and Nautilus will not show it until I open a Nautilus window to that directory/desktop and click View -> Reload.

Filesystem polling works fine after a reboot. Right now I have been up for 4 days and just noticed, but it's stopped working as quickly as an hour after boot. This is not a new problem with 2.26 and is something I've experienced since at least 2.20. My system is FreeBSD 7.1-p4 i386 using a ZFS disk, but I've seen the same problem on the same computer under an old installation using UFS.

Some Googling reveals that Nautilus uses devel/gamin to poll changes which in turn uses kqueue by default. The port has a compile-time option for GAM_POLLER that I do not have enabled. Konqueror, however has never exhibited this problem.

The closest bug report I was able to find was this one from 2004 which I don't believe is applicable. It discusses gamin 0.0.x, and I use 0.1.10_1.
 
You can try setting kern.maxfiles as the pkg-message said:
Code:
dice@molly:/usr/ports/devel/gamin>cat pkg-message
===============================================================================

Gamin will only provide realtime notification of changes for at most n files,
where n is the minimum value between (kern.maxfiles * 0.7) and
(kern.maxfilesperproc - 200). Beyond that limit, files will be polled.

If you often open several large folders with Nautilus, you might want to
increase the kern.maxfiles tunable (you do not need to set
kern.maxfilesperproc, since it is computed at boot time from kern.maxfiles).

For a typical desktop, add the following line to /boot/loader.conf, then
reboot the system:

    kern.maxfiles="25000"

The behavior of gamin can be controlled via the various gaminrc files.
See http://www.gnome.org/~veillard/gamin/config.html on how to create
these files.  In particular, if you find gam_server is taking up too much
CPU time polling for changes, something like the following may help
in one of the gaminrc files:

# reduce polling frequency to once per 10 seconds
# for UFS file systems in order to lower CPU load
fsset ufs poll 10

===============================================================================
 
It's already at 25000.

Code:
[jnr@Emi#/]sysctl -n kern.maxfiles
25000

How high can I safely increase it? For now I'll just try 65536.
 
Back
Top