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