ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ngnix падает в kernel panic



Ставил метод select. С ней тоже падает....
Есть соседняя машина, на ней тот же дистрибут с тем же ядром и все работает и не падает. Правда там нагрузка на два порядка поменьше и железо другое....


Kostya Alexandrov пишет:
Я бы тоже, 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
ИМХО. Я бы шел так.









 




Copyright © Lexa Software, 1996-2009.