gam_server eats CPU

Pete Zaitcev zaitcev at redhat.com
Sat Mar 5 00:24:45 UTC 2005


On Fri, 4 Mar 2005 16:35:47 -0500 Daniel Veillard <veillard at redhat.com> wrote:
> On Fri, Mar 04, 2005 at 01:16:23PM -0800, Pete Zaitcev wrote:

> > I have a situation where an application makes small writes to a file.
> > In such a case, gam_server hogs the CPU. Here's a screen capture from
> > top(1):
> [...]
> > I run Fedora Core 3 with Nautilus enabled, and so I cannot just remove
> > Gamin and be happy. Does anyone have any ideas what do about this?
> 
>   Are you running gamin-0.0.25 ? 

I wasn't, but I have found out that it's the same with gamin-0.0.25.
Also, I looked at the strace dump. It's quite strange. At first,
gam_server does its poll cycles. Everything seems ok... Then:

.................
poll([{fd=13, events=0}, {fd=14, events=POLLIN}, {fd=15, events=POLLIN}, {fd=16, events=POLLIN}, {fd=17, events=POLLIN}, {fd=13, events=POLLIN}, {fd=3, events=POLLIN}], 7, 972) = 0
gettimeofday({1109981438, 502778}, NULL) = 0
time(NULL)                              = 1109981438
stat64("/q/zaitcev", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/q/zaitcev", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/q/zaitcev", O_RDONLY)            = 23
fcntl64(23, F_SETSIG, 0x22)             = 0
fcntl64(23, 0x402 /* F_??? */, 0x8000003e) = 0
--- SIGRT_2 (Real-time signal 0) @ 0 (0) ---
write(12, "bogus", 5)                   = 5
rt_sigreturn(0x17)                      = 0
--- SIGRT_2 (Real-time signal 0) @ 0 (0) ---
write(12, "bogus", 5)                   = 5
rt_sigreturn(0x17)                      = 0
--- SIGRT_2 (Real-time signal 0) @ 0 (0) ---
write(12, "bogus", 5)                   = 5
rt_sigreturn(0x17)                      = 0
........

These signal things go on and on without end. Descriptor 12 is a pipe,
not a socket.

The whole thing runs under stock 2.6.11 with CONFIG_DNOTIFY=y.
As far as I can tell, inotify is not included into the kernel.

-- Pete




More information about the fedora-devel-list mailing list