The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"5.4-RELEASE саморебут кажд. день"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"5.4-RELEASE саморебут кажд. день"  
Сообщение от sanya (??) on 30-Сен-06, 16:22 
Доброго всем дня

Такое проклятье на серваке - ребутится примерно каждые 23часа +-час, понять не могу почему... в логах ничего не вижу. Тут на форуме нашел инструкшен по вываливанию корки (от Алексея), но доходим до п.6 (см. ниже) а корки нет... ткните что не так? где искать?

немного о пациенте:
FreeBSD my.domain.ru 5.4-RELEASE-p19 FreeBSD 5.4-RELEASE-p19 #8: Fri Sep 29 15:36:27 MSD 2006     root@my.domain.ru:/usr/src/sys/i386/compile/VISION  i386
на нем крутится полный набор:
Apache, SQUID, Sendmail, Named(кэш), PostgreSQL, SAMBA, ProFTPd...
обновлено все...

началось все с тех пор как я рэйд поменял (тот умер), систему перезалил (dump-restore) около полугода назад...

если после очередного ребута что-либо умреть - я труп.

------------------------
1) собрать ядро
makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols
2) полученый kernel.debug скопировать в /boot/kernel
3) в /etc/rc.conf включить save kernel core
dumpdev="NO"            # Device to crashdump to (device name, AUTO, or NO).
(swap должен быть больше чем текущий размер ram)
4) включить руками savecore (или ребутнуться)
5) получить панику и убедиться что пишет core saved.
6) после перезагрузки проверить что бы корка сохранилась в /var/crash
7) kgdb /boot/kernel/kernel /var/crach/$имя_корки
в приглашении kgdb дать команду bt и(или) bt full.
8) полученый log + конфиг ядра заслать в pr.
корку и каталог в котором собиралось - сохранить, - вдруг потребуется уточнение чего-то.
------------------------

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "5.4-RELEASE саморебут кажд. день"  
Сообщение от Hammer (??) on 30-Сен-06, 16:54 
>Доброго всем дня
>
>Такое проклятье на серваке - ребутится примерно каждые 23часа +-час, понять не
>могу почему... в логах ничего не вижу. Тут на форуме нашел
>инструкшен по вываливанию корки (от Алексея), но доходим до п.6 (см.
>ниже) а корки нет... ткните что не так? где искать?
>
>немного о пациенте:
>FreeBSD my.domain.ru 5.4-RELEASE-p19 FreeBSD 5.4-RELEASE-p19 #8: Fri Sep 29 15:36:27 MSD 2006
>    root@my.domain.ru:/usr/src/sys/i386/compile/VISION  i386
>на нем крутится полный набор:
>Apache, SQUID, Sendmail, Named(кэш), PostgreSQL, SAMBA, ProFTPd...
>обновлено все...
>
>началось все с тех пор как я рэйд поменял (тот умер), систему
>перезалил (dump-restore) около полугода назад...
>
>если после очередного ребута что-либо умреть - я труп.
>
>------------------------
>1) собрать ядро
>makeoptions     DEBUG=-g      
>         # Build
>kernel with gdb(1) debug symbols
>2) полученый kernel.debug скопировать в /boot/kernel
>3) в /etc/rc.conf включить save kernel core
>dumpdev="NO"            
># Device to crashdump to (device name, AUTO, or NO).
>(swap должен быть больше чем текущий размер ram)
>4) включить руками savecore (или ребутнуться)
>5) получить панику и убедиться что пишет core saved.
>6) после перезагрузки проверить что бы корка сохранилась в /var/crash
>7) kgdb /boot/kernel/kernel /var/crach/$имя_корки
>в приглашении kgdb дать команду bt и(или) bt full.
>8) полученый log + конфиг ядра заслать в pr.
>корку и каталог в котором собиралось - сохранить, - вдруг потребуется уточнение
>чего-то.
>------------------------

А в логах че?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "5.4-RELEASE саморебут кажд. день"  
Сообщение от sanya (??) on 30-Сен-06, 19:46 
>
>А в логах че?

хороший вопрос... последний ребут был в 14:52
------/var/log/messages--------
идет серия варнингов от скриптовых программ...
Sep 30 14:37:33 GATEWAY postgres[12075]: [4-1] WARNING:  there is no transaction in progress
и КуПоппера... -это ничего страшного (я их отключал - эффект =0)
Sep 30 14:37:45 GATEWAY qpopper[12088]: Stats: arisadm 0 0 0 0 192.168.0.103 192.168.0.103
а вот тут собственно хзч...
Sep 30 14:52:37 GATEWAY syslogd: kernel boot file is /boot/kernel/kernel
Sep 30 14:52:37 GATEWAY kernel: panic: kmem_malloc(4096): kmem_map too small: 335544320 total allocated
Sep 30 14:52:37 GATEWAY kernel: cpuid = 0
Sep 30 14:52:37 GATEWAY kernel: boot() called on cpu#0
Sep 30 14:52:37 GATEWAY kernel: Syncing disks, buffers remaining... 7079 7079 7079 7079 7078 7078 7078 7078 7078 7078 7078 7078 7078 7078 7078 7078 7078 707
8 7078 7078 7078 7078 7078 7078
ну и далее процесс загрузки
Sep 30 14:52:37 GATEWAY kernel: Copyright (c) 1992-2005 The FreeBSD Project.
Sep 30 14:52:37 GATEWAY kernel: Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
Sep 30 14:52:37 GATEWAY kernel: The Regents of the University of California. All rights reserved.
Sep 30 14:52:37 GATEWAY kernel: FreeBSD 5.4-RELEASE-p19 #8: Fri Sep 29 15:36:27 MSD 2006
Sep 30 14:52:37 GATEWAY kernel: root@GATEWAY.aris-spb.ru:/usr/src/sys/i386/compile/VISION
Sep 30 14:52:37 GATEWAY kernel: Timecounter "i8254" frequency 1193182 Hz quality 0
Sep 30 14:52:37 GATEWAY kernel: CPU: Intel(R) Pentium(R) 4 CPU 2.60GHz (2600.44-MHz 686-class CPU)
Sep 30 14:52:37 GATEWAY kernel: Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
и т.д.
-------------------------------

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "5.4-RELEASE саморебут кажд. день"  
Сообщение от seller on 01-Окт-06, 01:27 
>>
>>А в логах че?
>
>хороший вопрос... последний ребут был в 14:52
>------/var/log/messages--------
>идет серия варнингов от скриптовых программ...
>Sep 30 14:37:33 GATEWAY postgres[12075]: [4-1] WARNING:  there is no transaction
>in progress
>и КуПоппера... -это ничего страшного (я их отключал - эффект =0)
>Sep 30 14:37:45 GATEWAY qpopper[12088]: Stats: arisadm 0 0 0 0 192.168.0.103
>192.168.0.103
>а вот тут собственно хзч...
>Sep 30 14:52:37 GATEWAY syslogd: kernel boot file is /boot/kernel/kernel
Sep 30 14:52:37 GATEWAY kernel: panic: kmem_malloc(4096): kmem_map too small: 335544320 total
>allocated
>Sep 30 14:52:37 GATEWAY kernel: cpuid = 0
>Sep 30 14:52:37 GATEWAY kernel: boot() called on cpu#0
>Sep 30 14:52:37 GATEWAY kernel: Syncing disks, buffers remaining... 7079 7079 7079
>7079 7078 7078 7078 7078 7078 7078 7078 7078 7078 7078
>7078 7078 7078 707
>8 7078 7078 7078 7078 7078 7078
>ну и далее процесс загрузки


выделенная строчка на ваш вопрос ответит?
если нет, то я попытаюсь ответить:
У вас (вернее у вашего сервера) kernel panic случился, вот система и ребутнулась.
Точную причину паники не скажу, но, по всей видимости, проблемы с памятью, вернее с ее нехваткой. Не просто тупо оперативки не хватает, а какая-то прога (или драйвер) многого хотят и неправильно использованную память освобождают. Может быть что-нибудь с /dev/md0, если полузуетесь, еще что-нибудь с виртуалкой связанное...

---
А, вот, в яндексе попалось:
==FreeBSD аварийно завершает работу с сообщением "kmem_map too small!"==
Замечание Сообщение может также выглядеть как "mb_map too small!"

Такое завершение работы показывает, что системе не хватает виртуальной памяти для сетевых буферов (точнее, структур mbuf). Вы можете увеличить количество виртуальной памяти для структур mbuf, добавив:

options "NMBCLUSTERS=<n>"

в файл конфигурации ядра, где <n> - это число в пределах 512-4096, в зависимости от числа TCP-соединений, которое вам нужно одновременно обслуживать. Я рекомендую попробовать значение 2048 - это должно избавить вас от аварийных остановов. Вы можете отслеживать количество структур mbuf, выделенных/используемых системой командой netstat -m. Значение по умолчанию для NMBCLUSTERS равно 512 + MAXUSERS * 16.

Единственное, в этой заметке говорилось про FreeBSD 2.0 :)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "5.4-RELEASE саморебут кажд. день"  
Сообщение от sanya (??) on 02-Окт-06, 13:29 
>выделенная строчка на ваш вопрос ответит?
>если нет, то я попытаюсь ответить:
>У вас (вернее у вашего сервера) kernel panic случился, вот система и
>ребутнулась.
>Точную причину паники не скажу, но, по всей видимости, проблемы с памятью,
>вернее с ее нехваткой. Не просто тупо оперативки не хватает, а
>какая-то прога (или драйвер) многого хотят и неправильно использованную память освобождают.
>Может быть что-нибудь с /dev/md0, если полузуетесь, еще что-нибудь с виртуалкой
>связанное...
>
>---
>А, вот, в яндексе попалось:
>==FreeBSD аварийно завершает работу с сообщением "kmem_map too small!"==
>Замечание Сообщение может также выглядеть как "mb_map too small!"
>
>Такое завершение работы показывает, что системе не хватает виртуальной памяти для сетевых
>буферов (точнее, структур mbuf). Вы можете увеличить количество виртуальной памяти для
>структур mbuf, добавив:
>
>options "NMBCLUSTERS=<n>"
>
>в файл конфигурации ядра, где <n> - это число в пределах 512-4096, в зависимости от числа TCP-соединений, которое вам нужно одновременно обслуживать. Я рекомендую попробовать значение 2048 - это должно избавить вас от аварийных остановов. Вы можете отслеживать количество структур mbuf, выделенных/используемых системой командой netstat -m. Значение по умолчанию для NMBCLUSTERS равно 512 + MAXUSERS * 16.
>
>Единственное, в этой заметке говорилось про FreeBSD 2.0 :)

Спасибо, направление верное, но mbufs видимо не причем... выполнил "netstat -m" неск. раз - последняя строчка "NNNN calls to protocol drain routines" постоянно растет.. Вот результат с задержкой ~1сек:
%> netstat -m
12 mbufs in use
3/25600 mbuf clusters in use (current/max)
0/3/6656 sfbufs in use (current/peak/max)
9 KBytes allocated to network
0 requests for sfbufs denied
0 requests for sfbufs delayed
0 requests for I/O initiated by sendfile
2391 calls to protocol drain routines
%> netstat -m
2 mbufs in use
0/25600 mbuf clusters in use (current/max)
0/3/6656 sfbufs in use (current/peak/max)
0 KBytes allocated to network
0 requests for sfbufs denied
0 requests for sfbufs delayed
0 requests for I/O initiated by sendfile
2392 calls to protocol drain routines
  
Куда далее копать?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру