Re: Master процесс nginx 0.6.38 съедает всю доступную память

Одинцов Павел pavel.odintsov at googlemail.com
Mon Sep 14 21:52:47 MSD 2009


Добрый вечер!

Так понимаю, последний вариант апаться на 0.7 ветку в надежде, что
этого бага там не будет?

2009/9/14 Igor Sysoev <is at rambler-co.ru>:
> On Mon, Sep 14, 2009 at 07:09:17PM +0500, Одинцов Павел wrote:
>
>> Добрый вечер!
>>
>> Меня более смущает другое:
>>
>> rt_sigsuspend([])                       = ? ERESTARTNOHAND (To be restarted)
>> --- SIGCHLD (Child exited) @ 0 (0) ---
>> gettimeofday({1252914806, 264791}, NULL) = 0
>> wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 9115
>> wait4(-1, 0x7fff33ef85c4, WNOHANG, NULL) = 0
>> rt_sigreturn(0xffffffffffffffff)        = -1 EINTR (Interrupted system call)
>> gettimeofday({1252914806, 265065}, NULL) = 0
>> close(805)                              = 0
>> close(806)                              = 0
>> sendmsg(7, {msg_name(0)=NULL,
>> msg_iov(1)=[{"\2\0\0\0\0\0\0\0\233#\0\0\0\0\0\0\3\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0",
>> 32}], msg_controllen=0, msg_flags=0}, 0) = 32
>> sendmsg(3, {msg_name(0)=NULL,
>> msg_iov(1)=[{"\2\0\0\0\0\0\0\0\233#\0\0\0\0\0\0\3\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0",
>> 32}], msg_controllen=0, msg_flags=0}, 0) = 32
>> sendmsg(9, {msg_name(0)=NULL,
>> msg_iov(1)=[{"\2\0\0\0\0\0\0\0\233#\0\0\0\0\0\0\3\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0",
>> 32}], msg_controllen=0, msg_flags=0}, 0) = 32
>> rt_sigsuspend([])                       = ? ERESTARTNOHAND (To be restarted)
>> --- SIGIO (I/O possible) @ 0 (0) ---
>> gettimeofday({1252914806, 266093}, NULL) = 0
>> rt_sigreturn(0x7fff33ef8560)            = -1 EINTR (Interrupted system call)
>> gettimeofday({1252914806, 266197}, NULL) = 0
>> rt_sigsuspend([])                       = ? ERESTARTNOHAND (To be restarted)
>> --- SIGCHLD (Child exited) @ 0 (0) ---
>> gettimeofday({1252914808, 891963}, NULL) = 0
>> wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 22306
>> wait4(-1, 0x7fff33ef85c4, WNOHANG, NULL) = 0
>> rt_sigreturn(0xffffffffffffffff)        = -1 EINTR (Interrupted system call)
>> gettimeofday({1252914808, 892239}, NULL) = 0
>> close(3)                                = 0
>> close(4)                                = 0
>> sendmsg(7, {msg_name(0)=NULL,
>> msg_iov(1)=[{"\2\0\0\0\0\0\0\0\"W\0\0\0\0\0\0\1\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0",
>> 32}], msg_controllen=0, msg_flags=0}, 0) = 32
>> sendmsg(9, {msg_name(0)=NULL,
>> msg_iov(1)=[{"\2\0\0\0\0\0\0\0\"W\0\0\0\0\0\0\1\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0",
>> 32}], msg_controllen=0, msg_flags=0}, 0) = 32
>> rt_sigsuspend([])                       = ? ERESTARTNOHAND (To be restarted)
>> --- SIGIO (I/O possible) @ 0 (0) ---
>> gettimeofday({1252914808, 892960}, NULL) = 0
>> rt_sigreturn(0x7fff33ef8560)            = -1 EINTR (Interrupted system call)
>> gettimeofday({1252914808, 893066}, NULL) = 0
>> rt_sigsuspend([])                       = ? ERESTARTNOHAND (To be restarted)
>> --- SIGCHLD (Child exited) @ 0 (0) ---
>> gettimeofday({1252914825, 575495}, NULL) = 0
>> wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 22288
>> wait4(-1, 0x7fff33ef85c4, WNOHANG, NULL) = 0
>> rt_sigreturn(0xffffffffffffffff)        = -1 EINTR (Interrupted system call)
>> gettimeofday({1252914825, 575770}, NULL) = 0
>> close(7)                                = 0
>> close(8)                                = 0
>> sendmsg(9, {msg_name(0)=NULL,
>> msg_iov(1)=[{"\2\0\0\0\0\0\0\0\20W\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\0\0\0\0",
>> 32}], msg_controllen=0, msg_flags=0}, 0) = 32
>> rt_sigsuspend([])                       = ? ERESTARTNOHAND (To be restarted)
>> --- SIGIO (I/O possible) @ 0 (0) ---
>> gettimeofday({1252914825, 576096}, NULL) = 0
>> rt_sigreturn(0x7fff33ef8560)            = -1 EINTR (Interrupted system call)
>> gettimeofday({1252914825, 576201}, NULL) = 0
>> rt_sigsuspend([] <unfinished ...>
>>
>> В частности видно, что происходит 5 попыток на релоад "To be
>> restarted", но nginx на них не реагирует, хотя ранее делал закрытие /
>> открытие логов и пересоздание процессов.
>
> Это нормально: после sendmsg() nginx получает SIGIO, который прерывает
> rt_sigsuspend.
>
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
>



-- 
С уважением, Одинцов Павел





More information about the nginx-ru mailing list