[Dovecot] FreeBSD 6.1-RELEASE/kqueue high CPU load
Taras Savchuk
taras at elantech.ru
Wed Sep 20 18:43:45 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,
>
It's a statistics for the same ktrace file (52 seconds):
mail2# cat k.dov.l.txt | wc -l
3991592
mail2# cat k.dov.l.txt | grep kevent | grep CALL | wc -l
797033
mail2# cat k.dov.l.txt | grep kevent | grep RET | wc -l
797033
mail2# cat k.dov.l.txt | grep gettimeofday | grep CALL | wc -l
1195552
mail2# cat k.dov.l.txt | grep gettimeofday | grep RET | wc -l
1195556
mail2#
and it's tipical chunk:
20910 imap 51.825657 RET kevent 1
20910 imap 51.825712 CALL gettimeofday(0x80c2c60,0x80c2c68)
20910 imap 51.825715 RET gettimeofday 0
20910 imap 51.825734 CALL gettimeofday(0x80c2c60,0x80c2c68)
20910 imap 51.825737 RET gettimeofday 0
20910 imap 51.825755 CALL kevent(0x5,0,0,0xbfbfe940,0x1,0xbfbfe938)
20910 imap 51.825759 RET kevent 1
20910 imap 51.825778 CALL gettimeofday(0xbfbfe9a0,0)
20910 imap 51.825782 RET gettimeofday 0
20910 imap 51.825801 CALL kevent(0x4,0,0,0x80d1000,0x5,0xbfbfe998)
20910 imap 51.825804 RET kevent 1
20910 imap 51.825823 CALL gettimeofday(0x80c2c60,0x80c2c68)
20910 imap 51.825826 RET gettimeofday 0
20910 imap 51.825844 CALL gettimeofday(0x80c2c60,0x80c2c68)
20910 imap 51.825847 RET gettimeofday 0
20910 imap 51.825864 CALL kevent(0x5,0,0,0xbfbfe940,0x1,0xbfbfe938)
20910 imap 51.825869 RET kevent 1
20910 imap 51.825888 CALL gettimeofday(0xbfbfe9a0,0)
20910 imap 51.825892 RET gettimeofday 0
20910 imap 51.825910 CALL kevent(0x4,0,0,0x80d1000,0x5,0xbfbfe998)
20910 imap 51.825914 RET kevent 1
20910 imap 51.825932 CALL gettimeofday(0x80c2c60,0x80c2c68)
20910 imap 51.825936 RET gettimeofday 0
20910 imap 51.825953 CALL gettimeofday(0x80c2c60,0x80c2c68)
20910 imap 51.825957 RET gettimeofday 0
20910 imap 51.825974 CALL kevent(0x5,0,0,0xbfbfe940,0x1,0xbfbfe938)
20910 imap 51.825978 RET kevent 1
20910 imap 51.825997 CALL gettimeofday(0xbfbfe9a0,0)
20910 imap 51.826000 RET gettimeofday 0
20910 imap 51.826019 CALL kevent(0x4,0,0,0x80d1000,0x5,0xbfbfe998)
20910 imap 51.826022 RET kevent 1
20910 imap 51.826041 CALL gettimeofday(0x80c2c60,0x80c2c68)
20910 imap 51.826044 RET gettimeofday 0
20910 imap 51.826062 CALL gettimeofday(0x80c2c60,0x80c2c68)
20910 imap 51.826065 RET gettimeofday 0
--
С уважением, Савчук Тарас
ООО "Элантек" : Аутсорсинг ИТ, WEB-разработка
+7 (495) 589 68 81
+7 (926) 575 22 11
http://www.elantech.ru
info at elantech.ru
More information about the dovecot
mailing list