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