Ngnix падает в kernel panic

Konstantin Rudenko kroky at kroft.ru
Mon Jan 21 19:18:02 MSK 2008


Ставил метод 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
>> ИМХО. Я бы шел так.
>>
>>
> 
> 
> 






More information about the nginx-ru mailing list