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

Igor Sysoev is at rambler-co.ru
Mon Sep 14 18:25:10 MSD 2009


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