Ngnix падает в kernel panic

Kostya Alexandrov koticka at mail.ru
Mon Jan 21 16:46:37 MSK 2008


Я бы тоже, 2.4 с бекпортом epoll это конечно круто... но страшно.
или как альтернатива пользовать pool, ну это смотри уже сам.
Мы тестировали pool и  epool разница уже примерно на 500 соединениях, не 
фатально, но последний предпочтительнее.

Dmitry Leonenko wrote:
> Konstantin Rudenko wrote:
>> Добрый день!
>>
>> После запуска nginx-0.5.35 через некоторое время (время все время разное
>> - от нескольких часов до десятков минут) система падает в kernel panic с
>> сообщением:
>>
>> Kernal panic: Aiee, Killing interrupt handler!
>> in interrupt handler - not syncing
>>
>> Такое впечатление, что чем больше запросов к серверу, тем быстрее
>> система падает (ночью держится до нескольких часов, днем может умереть
>> уже через 20 минут). Сама система не глючная - работает без сбоев уже
>> несколько лет на сильно нагруженном web проекте.
>>
>> Система - ASP Linux 9.2
>> Ядро Linux 2.4.22-1.2199.4.nptl.aspsmp
>>
>> Резюме команды configure:
>> Configuration summary
>>   + threads are not used
>>   + using system PCRE library
>>   + OpenSSL library is not used
>>   + md5 library is not used
>>   + sha1 library is not used
>>   + using system zlib library
>>
>> В debug логе ошибок не видно.
>> Пробовал методы epoll и select - результат одинаков - kernel panic.
>>
>> После запуска в error.log:
>> 2008/01/21 15:35:14 [debug] 16956#0: bind() XXX.XXX.XXX.XXX:80 #6
>> 2008/01/21 15:35:14 [notice] 16956#0: using the "epoll" event method
>> 2008/01/21 15:35:14 [debug] 16956#0: counter: BF5A9080, 1
>> 2008/01/21 15:35:14 [notice] 16956#0: nginx/0.5.35
>> 2008/01/21 15:35:14 [notice] 16956#0: built by gcc 3.3.2 20031022
>> (ASPLinux 3.3.2-1)
>> 2008/01/21 15:35:14 [notice] 16956#0: OS: Linux 
>> 2.4.22-1.2199.4.nptl.aspsmp
>> 2008/01/21 15:35:14 [notice] 16956#0: sysctl(KERN_RTSIGMAX): 1024
>> 2008/01/21 15:35:14 [notice] 16956#0: getrlimit(RLIMIT_NOFILE): 
>> 1024:1024
>> 2008/01/21 15:35:14 [debug] 16957#0: write: 7, BFEC1DE0, 6, 0
>> 2008/01/21 15:35:14 [debug] 16957#0: setproctitle: "nginx: master
>> process /usr/local/nginx/sbin/nginx"
>> 2008/01/21 15:35:14 [notice] 16957#0: start worker processes
>> 2008/01/21 15:35:14 [debug] 16957#0: channel 7:8
>> 2008/01/21 15:35:14 [debug] 16958#0: malloc: 093A88A8:6144
>> 2008/01/21 15:35:14 [debug] 16958#0: malloc: 093BE9F8:81920
>> 2008/01/21 15:35:14 [debug] 16958#0: malloc: 093D2A00:53248
>> 2008/01/21 15:35:14 [debug] 16958#0: malloc: 093DFA08:53248
>> 2008/01/21 15:35:14 [debug] 16958#0: epoll add event: fd:6 op:1 
>> ev:00000001
>> 2008/01/21 15:35:14 [debug] 16958#0: epoll add event: fd:8 op:1 
>> ev:00000001
>> 2008/01/21 15:35:14 [debug] 16958#0: setproctitle: "nginx: worker 
>> process"
>> 2008/01/21 15:35:14 [debug] 16958#0: worker cycle
>> 2008/01/21 15:35:14 [debug] 16958#0: epoll timer: -1
>>
>>
>> Подскажите куда копать?
>>
>>
>> Константин
>>
>> PS. nginx.conf:
>> ================================================
>> user  apache;
>> worker_processes  1;
>>
>> error_log  /var/log/nginx/error.log debug;
>> #error_log  logs/error.log  notice;
>> #error_log  logs/error.log  info;
>>
>> pid        /var/run/nginx.pid;
>>
>> events {
>>     worker_connections  1024;
>> }
>>
>>
>> http {
>>     include       conf/mime.types;
>>     default_type  application/octet-stream;
>>
>>  log_format  main  '$remote_addr - $remote_user [$time_local] $request '
>>                   '"$status" $body_bytes_sent "$http_referer" '
>>                   '"$http_user_agent" "$http_x_forwarded_for"';
>>
>>
>>     sendfile        on;
>>     keepalive_timeout  65;
>>
>>     server {
>>         listen       XXX.XXX.XXX.XXX:80;
>>         server_name  www.site.ru site.ru;
>>
>>         charset windows-1251;
>>
>>         access_log  /var/log/nginx/host.access.log  main;
>>     location / {
>>         proxy_pass         http://127.0.0.1:4000/;
>>         proxy_redirect     off;
>>         proxy_set_header   Host             $host;
>>         proxy_set_header   X-Real-IP        $remote_addr;
>>         proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
>>          }
>>
>>         location ~* \.(jpg|jpeg|gif|js|css|txt)$ {
>>             root         /home/dirname/htdocs;
>>             access_log   off;
>>             expires      30d;
>>         }
>>
>>     }
>> }
>>
>>
>>
> kernel panic - это по определению kernel panic.
> Нужно начать с того, что поставить поновее ядро и посмотреть, что из 
> этого получиться.
> Я бы взял какое-нибудь ядро, вроди 2.6.16.59
> ИМХО. Я бы шел так.
>
>





More information about the nginx-ru mailing list