Re: nginx застрял в sched_yield()
Denis F. Latypoff
latypoff на yandex.ru
Чт Мар 31 18:50:33 MSD 2011
31.03.2011, 18:46, "Igor Sysoev" <igor at sysoev.ru>:
> On Thu, Mar 31, 2011 at 06:00:02PM +0400, Denis F. Latypoff wrote:
>
>> 31.03.2011, 16:30, "Maxim Dounin" <mdounin at mdounin.ru>;:
>>> Hello!
>>>
>>> On Thu, Mar 31, 2011 at 04:44:41AM +0400, Denis F. Latypoff wrote:
>>>> Здрасьте, наконец-то отловил его, уже такое бывало, но
>>>> на продакшене, по этому не получалось бэктрейс глянуть, надо было
>>>> быстро все починить. Проявляется при HUP'е:
>>>>
>>>> (gdb) bt
>>>> #0 0x0000003744abac77 in sched_yield () from /lib64/libc.so.6
>>>> #1 0x0000000000413667 in ngx_spinlock (lock=0x2b1216ba3000, value=14637,
>>>> spin=1024) at src/core/ngx_spinlock.c:39
>>> fr 1
>>> p ngx_ncpu
>>> p *lock
>>>
>>> Последнее напечатает pid процесса, про него тоже желательно узнать
>>> подробности.
>> (gdb) fr 1
>> #1 0x0000000000413667 in ngx_spinlock (lock=0x2b1216ba3000, value=14637,
>> spin=1024) at src/core/ngx_spinlock.c:39
>> 39 ngx_sched_yield();
>> (gdb) p ngx_ncpu
>> $3 = 1
>> (gdb) fr 1
>> #1 0x0000000000413667 in ngx_spinlock (lock=0x2b1216ba3000, value=14637,
>> spin=1024) at src/core/ngx_spinlock.c:39
>> 39 ngx_sched_yield();
>> (gdb) p ngx_ncpu
>> $4 = 1
>> (gdb) p *lock
>> $5 = 15792
>
> А что показывает
> ps ax -o pid,ppid,%cpu,vsz,wchan,command|egrep '(nginx|PID)'
[root at gostats ~]# ps ax -o pid,ppid,%cpu,vsz,wchan,command|egrep '(nginx|PID)'
PID PPID %CPU VSZ WCHAN COMMAND
14635 23330 0.0 166264 - nginx: worker process
14636 23330 0.0 166264 - nginx: worker process
14637 23330 12.7 153904 - nginx: cache manager process
23330 1 0.0 153904 rt_sig nginx: master process /opt/nginx/sbin/nginx
31627 9617 0.0 61180 pipe_w egrep (nginx|PID)
>
> --
> Igor Sysoev
> http://sysoev.ru/en/
>
--
br, Denis F. Latypoff.
Подробная информация о списке рассылки nginx-ru