moused(8) consuming cpu for nothing

Oliver Fromme olli at lurza.secnetix.de
Wed Aug 8 06:36:06 PDT 2007


Hi,

I noticed that the moused(8) process had accumulated about
one minute of CPU time, after only three days of uptime.
That's really a lot, given the fact that this server
doesn't have a mouse connected at all.  :-)   Well, it is
connected to a KVM switch, but it was never used since the
last reboot.  Accoding to "vmstat -i" psm0 received zero
interrupts.  So I really wonder why it has consumed that
much CPU time.

So I tried to strace the process, and got an endless series
of these:

15:22:31.017275 gettimeofday({...}, NULL) = 0
15:22:31.017386 select(1024, [?], NULL, NULL, {...}) = 0 (Timeout)
15:22:31.038275 gettimeofday({...}, NULL) = 0
15:22:31.038386 select(1024, [?], NULL, NULL, {...}) = 0 (Timeout)
15:22:31.059276 gettimeofday({...}, NULL) = 0
15:22:31.059387 select(1024, [?], NULL, NULL, {...}) = 0 (Timeout)
15:22:31.080275 gettimeofday({...}, NULL) = 0
15:22:31.080387 select(1024, [?], NULL, NULL, {...}) = 0 (Timeout)
15:22:31.101276 gettimeofday({...}, NULL) = 0
15:22:31.101387 select(1024, [?], NULL, NULL, {...}) = 0 (Timeout)
15:22:31.122276 gettimeofday({...}, NULL) = 0
15:22:31.122388 select(1024, [?], NULL, NULL, {...}) = 0 (Timeout)
15:22:31.143275 gettimeofday({...}, NULL) = 0
15:22:31.143386 select(1024, [?], NULL, NULL, {...}) = 0 (Timeout)
15:22:31.164276 gettimeofday({...}, NULL) = 0
15:22:31.164388 select(1024, [?], NULL, NULL, {...}) = 0 (Timeout)
15:22:31.185276 gettimeofday({...}, NULL) = 0
15:22:31.185387 select(1024, [?], NULL, NULL, {...}) = 0 (Timeout)
.. and so on.

So it seems to call select(2) with a 0.02s timeout and
then gettimeofday(2) within a loop.  50 times per second.
Without doing anything useful (remember there's no mouse
device connected and zero interrupts occuring).

Is that normal, or is it a bug?  For now I have killed and
disabled moused(8) on all machines in the server farm, but
it is somewhat inconvenient to have to start moused(8)
manually each time a server is switched onto the KVM.

Best regards
   Oliver

PS:  Just in case it matters (these are all the defaults):

kern.clockrate: { hz = 1000, tick = 1000, profhz = 666, stathz = 133 }
kern.timecounter.choice: TSC(-100) HPET(2000) ACPI-fast(1000) i8254(0) dummy(-1000000)
kern.timecounter.hardware: HPET

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart

FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd

It's trivial to make fun of Microsoft products,
but it takes a real man to make them work,
and a God to make them do anything useful.


More information about the freebsd-stable mailing list