gamin opens too many files
Chuck Swiger
cswiger at mac.com
Wed Mar 29 14:24:46 UTC 2006
Alex Dupre wrote:
> David Syphers wrote:
>> I recently was getting messages about maxing out the number of open files on
>> my system, and discovered that gam_server has gone crazy. Right after
>> booting, opening KDE, I have nearly 2600 open files on my computer, and 2200
>> of those are opened by gam_server, according to fstat. And clearly that
>> number can go up to nearly 8000, as I've got kern.maxfiles at 8136.
>
> That's absolutely normal for KDE. It will monitor many directories
> (/etc, your home, your desktop, some share dirs), so you have to
> increase the kern.maxfiles parameter as suggested by gamin's pkg-message.
Whoever wrote gamin should read "excessive use of fstat() considered harmful
when using distributed filesystems". :-)
I don't expect to run KDE/gamin myself, so I'm not going write a specific patch,
but someone interested in fixing gamin to not consume thousands of file
descriptors could start with:
struct rlimit rl;
if (getrlimit(RLIMIT_NOFILE, 0) == 0) {
printf("number of file descriptors available: %d\n", rl.rlim_cur);
} else {
perror("FATAL: getrlimit() call failed");
exit(EX_OSERR);
}
...and pay attention to rl.rlim_cur-- ie, monitor no more files than 80% of that
value. If this gam_server is running with superuser permissions (why?), perhaps
consuming up to 50% of rl.rlim_max might not be completely unreasonable.
--
-Chuck
More information about the freebsd-ports
mailing list