странности в работе nginx

Igor Sysoev is at rambler-co.ru
Mon Apr 25 00:14:02 MSD 2005


On Sun, 24 Apr 2005, Igor Sysoev wrote:

> On Sun, 24 Apr 2005, Alexey Bestciokov wrote:

>> strace показывает
>> блоки повторяющщихся строк
>> epoll_wait(195, {{EPOLLIN, {u32=3084277592, u64=3084277592}}}, 8192, 48197) 
>> = 1
>> gettimeofday({1114260172, 940343}, NULL) = 0
>> 
>> которые время от времени меняются блоками строк
>> epoll_wait(195, {{EPOLLIN, {u32=3084277672, u64=3084277672}}, 
>> {EPOLLERR|0x807a020, {u32=134717480, u64=28969689129000}}}, 8192, 48197) = 
>> 2
>> gettimeofday({1114260172, 940615}, NULL) = 0
>> 
>> полный вывод strace в течении минуты - 
>> http://maloletka.ru/dead_nginx.strace.bz2 (630 Кб)
>> со временем они конечно умирают, не не сразу и сервер грузят весьма 
>> заметно.
>> nginx 0.1.12+, linux 2.6.3+ SMP
>> в конфиге nginx прописано: debug_points  abort;
>
> Правильно ли я понимаю, что
> 1) используется много логов, около сотни ?
> 2) используется limit_rate ?
> Проблема не в них, просто я хочу убедиться что правильно понял strace.
>
> В логе есть два момента, которые мне не нравятся:
>
> 1) сообщения
> {EPOLLERR|0x807a020, {u32=134717480, u64=28969689129000}}
> очень похоже, что ядро возврщает мусор.
>
> 2) одно сообщения
> {EPOLLET|0x3fffd820, {u32=3086058770, u64=578613461717714194}},
> {EPOLLET|0x37e8b000, {u32=134717480, u64=578607170934251560}}
> тоже очень похоже на ядерный мусор.

У меня есть ощущение, что мусор в виде EPOLLERR|0x807a020 и
EPOLLET|0x3fffd820 - это самодеятельность strace, то есть, он неправильно
интерпретирует параметры epoll_wait() больше одного. Если бы ядро
действительно слало такой мусор, то nginx бы часто падал в таких местах.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list