Panic: kmem_map too small...затюнил сервак до смерти

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Panic: kmem_map too small...затюнил сервак до смерти

Непрочитанное сообщение CrazyPilot » 2009-10-26 11:20:36

Доброго времени суток!

Пришел сегодня с утра и увидел на серваке:

Код: Выделить всё

panic: kmem_malloc(4096): kmem_map too small: 536870912 total allocated
Была уже такая проблема, я думал ее решил, но вот снова вылезла. Uptime был 9 дней.

Код: Выделить всё

[root@flanker /var]# uname -a
FreeBSD flanker.domain.ru 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Thu Oct 15 11:37:34 MSD 2009     root@flanker.domain.ru:/usr/obj/usr/src/sys/FLANKER-2009-10-14  i386

Код: Выделить всё

[root@flanker ~]# cat /etc/sysctl.conf
# 400.000 * (4*1024) (PAGE_SIZE) = 1638400000 bytes = 1600000 kbytes = 1562.5 MB
# Хммм, многовато наверно вышло. Сделаем 800 метров
# 800 Mb * 1024 (to kb) / 4 (PAGE_SIZE) = 204800
kern.ipc.shmall=204800
#kern.ipc.shmmax=134217728
#kern.ipc.semmap=256

# size of listen queue for accept. new TCP conn.
kern.ipc.somaxconn=4096

# sockets
kern.ipc.maxsockets=204800
kern.ipc.maxsockbuf=262144

#every socket is a file, so increase them
#kern.maxfiles=204800
#kern.maxfilesperproc=200000
kern.maxvnodes=500000

#increase portrange
net.inet.ip.portrange.first=1024
net.inet.ip.portrange.last=65535

#Should be increased when you have A LOT of files on server
# 256 Mbytes
vfs.ufs.dirhash_maxmem=268435456

Код: Выделить всё

[root@flanker ~]# cat /boot/loader.conf
kern.ipc.semmni=256
kern.ipc.semmns=512
kern.ipc.semmnu=256
kern.ipc.shmseg=256

Код: Выделить всё

[root@flanker ~]# cat /var/log/dmesg.today | grep mem
real memory  = 3489071104 (3327 MB)
avail memory = 3411685376 (3253 MB)

Код: Выделить всё

[root@flanker ~]# cat /var/log/dmesg.today | grep CPU
CPU: Intel(R) Xeon(TM) CPU 3.00GHz (3000.12-MHz 686-class CPU)
  Logical CPUs per core: 2
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
...
SMP: AP CPU #2 Launched!
SMP: AP CPU #1 Launched!
SMP: AP CPU #3 Launched!
Так же top начал казать странные сообщение, пока ничего разумного не нагуглил

Код: Выделить всё

[root@flanker ~]# top -CPS
last pid:  8647;  load averages:  0.39,  0.29,  0.20                                                                                 up 0+00:56:41  11:02:23
276 processes: 5 running, 252 sleeping, 19 waiting
CPU 0:  1.5% user,  0.0% nice,  3.0% system,  0.0% interrupt, 95.5% idle
CPU 1:  0.7% user,  0.0% nice,  0.0% system,  0.0% interrupt, 99.3% idle
CPU 2:  0.0% user,  0.0% nice,  0.7% system,  0.0% interrupt, 99.3% idle
CPU 3:  0.0% user,  0.0% nice,  0.7% system,  0.0% interrupt, 99.3% idle
Mem: 291M Active, 521M Inact, 281M Wired, 27M Cache, 199M Buf, 2139M Free
Swap: 4096M Total, 4096M Free
kvm_open: cannot open /proc/8312/mem
kvm_open: cannot open /proc/8313/mem
.....
В ядре убраны всякие wlan девайсы и ненужные raid контроллеры. "Оптимизируя" (точнее пытаясь исправить свои кривые руки), добавил

Код: Выделить всё

# VM
options KVA_PAGES=512
options VM_KMEM_SIZE_MAX=536870912 # 512 Mbytes of kernel memory

По оперативке заметил, что процессы imap постепенно отжирают всю оперативку, но система swap вообще не использует. Почти весь объем сначала утекает в Inact mem, но потом в Active.

Сервак ушел в панику в воскресенье, похоже как раз в то время, когда у меня делается бэкап почты, там достаточно много файловых операций, но вот с оперативкой не так уж и много. Скрипт на перле отжирал максимум 10 метров вроде бы.

Из сервисов сервак предоставляет следующее:
- база данных postgresql (инфа для exim, статистика по почте). Нагрузки как таковой немного
- почта, exim, dovecot-imap(s) (одновремененно пользуются около 100 пользователей)
- apache с админкой для exim'a на php, используется так же perl, тут же в апаче календарь для тундерберда, и автоконфиг для thunderbird
- nagios (проверяет около 20 хостов)
- vsftpd (почти не используется)

Прошу помощи, чувствую, что намудрил я с параметрами sysctl, и из-за этого сервак начал валиться в панику, т.к. раньше не было такого.

Спасибо заранее!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hodok
мл. сержант
Сообщения: 125
Зарегистрирован: 2008-08-29 8:32:02
Откуда: Саратовская область
Контактная информация:

Re: Panic: kmem_map too small...затюнил сервак до смерти

Непрочитанное сообщение hodok » 2009-10-26 11:54:52

а если попробовать sysctl по дефолту? Посмотреть как оно работает, а потом потихоньку добавлять всякие опции.

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: Panic: kmem_map too small...затюнил сервак до смерти

Непрочитанное сообщение CrazyPilot » 2009-10-26 11:59:11

Так было по дефолту, народ жаловался, что почта немного подтормаживает...начал тюнить...возвращаться к первоначальному варианту можно конечно, но хочется понять, как этот shared memory выставить по нормальному, чтобы всем хорошо было.

Аватара пользователя
server801
ст. лейтенант
Сообщения: 1398
Зарегистрирован: 2008-09-27 21:15:16
Откуда: Саратов
Контактная информация:

Re: Panic: kmem_map too small...затюнил сервак до смерти

Непрочитанное сообщение server801 » 2009-10-26 12:01:30

stable и только stable
как paradox не скажет :-D

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: Panic: kmem_map too small...затюнил сервак до смерти

Непрочитанное сообщение CrazyPilot » 2009-10-26 14:16:53

да зачем стабле, я думаю здесь дело в кривых настройках, еще бы знать в каких...

CrazyPilot
ст. сержант
Сообщения: 321
Зарегистрирован: 2008-08-14 9:17:58
Откуда: Санкт-Петербург
Контактная информация:

Re: Panic: kmem_map too small...затюнил сервак до смерти

Непрочитанное сообщение CrazyPilot » 2009-10-27 9:25:36

UP!

Может кто подскажет хотя бы где почитать? гугль упорно говорит, что у меня в общем-то все более менее нормально настроено...man 7 tuning и хэндбук просветление не подарили...

попой чувствую дело в kern.maxvnodes