Comment 56 for bug 36581

Revision history for this message
Daniel J Blueman (danielblueman) wrote :

Logged into the gnome desktop with my homedir mounted from NFS, gam_server is clocking up more and more processor time, and is the 3rd highest cpu-time user (behind firefox and Xorg).

It's storms the NFS server with file and dir stat() calls, more than ~100, every ~3 seconds...that's getting expensive!
I have no nautilus windows open, except (of course) the background desktop.

Let me know if you'd like any debugging. Distro is Ubuntu Feisty 7.04 and gamin is version 0.1.8-1ubuntu3 with 6 days of uptime.

A quick strace shows:

$ strace -p `pidof gam_server`
poll([{fd=3, events=POLLIN}, {fd=4, events=0}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=10, events=POLLIN}, {fd=9, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=8, events=POLLIN}, {fd=11, events=POLLIN}, {fd=4, events=POLLIN}, {fd=14, events=POLLIN}], 12, 1000) = 0
poll([{fd=3, events=POLLIN}, {fd=4, events=0}, {fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=10, events=POLLIN}, {fd=9, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}, {fd=8, events=POLLIN}, {fd=11, events=POLLIN}, {fd=4, events=POLLIN}, {fd=14, events=POLLIN}], 12, 0) = 0
stat("/home/daniel/.config/menus/preferences-merged", 0x7fffcf91eff0) = -1 ENOENT (No such file or directory)
open("/home/daniel/.config/menus/preferences-merged", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOENT (No such file or directory)
<other menu files>
stat("/home/daniel/Desktop", {st_mode=S_IFDIR|0755, st_size=16384, ...}) = 0
open("/home/daniel/Desktop", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 15
fstat(15, {st_mode=S_IFDIR|0755, st_size=16384, ...}) = 0
fcntl(15, F_SETFD, FD_CLOEXEC) = 0
getdents64(15, /* 58 entries */, 32768) = 1960
getdents64(15, /* 0 entries */, 32768) = 0
close(15) = 0
stat("/home/daniel/Desktop/diff", {st_mode=S_IFREG|0664, st_size=107008, ...}) = 0
<many stat calls>
stat("/home/daniel", {st_mode=S_IFDIR|0755, st_size=229376, ...}) = 0
open("/home/daniel", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 15
fstat(15, {st_mode=S_IFDIR|0755, st_size=229376, ...}) = 0
fcntl(15, F_SETFD, FD_CLOEXEC) = 0
getdents64(15, /* 107 entries */, 32768) = 3688
getdents64(15, /* 0 entries */, 32768) = 0
close(15) = 0
stat("/home/daniel/.metacity", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
stat("/home/daniel/.profile", {st_mode=S_IFREG|0664, st_size=850, ...}) = 0
<many many stat calls>