[Dovecot] FreeBSD 6.1-RELEASE/kqueue high CPU load

Taras Savchuk taras at elantech.ru
Fri Sep 22 13:55:56 EEST 2006


LI Xin пишет:
> Taras Savchuk wrote:
> [snip]
>   
>>> What if you get some output from ktrace/kdump?  Additionally, try to
>>> force the process to save a coredump and investigate its .core with gdb
>>> would help tracking down the issue...
>>>
>>> Note that because when using kqueue the process should get a "kqread" if
>>> it is waiting for kqueue event.  If the process is stuck in "RUN" state
>>> then a coredump would be more helpful.
>>>
>>> Cheers,
>>>   
>>>       
>> ~20000 calls to gettimeofday() per second. Is it normall?
>>     
>
> No!  What's more, gettimeofday() is much more expensive on FreeBSD than
> its Linux counterpart, as it provides higher resolution time which is
> not useful for many applications.
>
> My guess is that your imap instance is stuck in a state where either
> kevent() is called with a zero ts structure (which is effectively a
> poll) every time, or some other weird thing happend.
>
>   
>> mail2# cat k.dov.l.txt | grep CALL | grep gettimeofday | wc -l
>> 1195552
>> mail2# head -n 1 k.dov.l.txt
>> 20910 imap 0.000000 CALL gettimeofday(0x80c2c60,0x80c2c68)
>> mail2# tail -n 1 k.dov.l.txt
>> 20910 imap 51.826065 RET gettimeofday 0
>>     
>
> Are these gettimeofday() calls called one by one?  Or is there any other
> calls between gettimeofday's?
>
> Cheers,
>   
I can make additional testing, if someone give me some tips what to do.

-- 
С уважением, Савчук Тарас
ООО "Элантек" : Аутсорсинг ИТ, WEB-разработка
http://www.elantech.ru
+7 (495) 589 68 81
+7 (926) 575 22 11



More information about the dovecot mailing list