Panic: kmem_map too small...затюнил сервак до смерти
Добавлено: 2009-10-26 11:20:36
Доброго времени суток!
Пришел сегодня с утра и увидел на серваке:
Была уже такая проблема, я думал ее решил, но вот снова вылезла. Uptime был 9 дней.
Так же top начал казать странные сообщение, пока ничего разумного не нагуглил
В ядре убраны всякие wlan девайсы и ненужные raid контроллеры. "Оптимизируя" (точнее пытаясь исправить свои кривые руки), добавил
По оперативке заметил, что процессы imap постепенно отжирают всю оперативку, но система swap вообще не использует. Почти весь объем сначала утекает в Inact mem, но потом в Active.
Сервак ушел в панику в воскресенье, похоже как раз в то время, когда у меня делается бэкап почты, там достаточно много файловых операций, но вот с оперативкой не так уж и много. Скрипт на перле отжирал максимум 10 метров вроде бы.
Из сервисов сервак предоставляет следующее:
- база данных postgresql (инфа для exim, статистика по почте). Нагрузки как таковой немного
- почта, exim, dovecot-imap(s) (одновремененно пользуются около 100 пользователей)
- apache с админкой для exim'a на php, используется так же perl, тут же в апаче календарь для тундерберда, и автоконфиг для thunderbird
- nagios (проверяет около 20 хостов)
- vsftpd (почти не используется)
Прошу помощи, чувствую, что намудрил я с параметрами sysctl, и из-за этого сервак начал валиться в панику, т.к. раньше не было такого.
Спасибо заранее!
Пришел сегодня с утра и увидел на серваке:
Код: Выделить всё
panic: kmem_malloc(4096): kmem_map too small: 536870912 total allocated
Код: Выделить всё
[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!
Код: Выделить всё
[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
.....
Код: Выделить всё
# VM
options KVA_PAGES=512
options VM_KMEM_SIZE_MAX=536870912 # 512 Mbytes of kernel memory
Сервак ушел в панику в воскресенье, похоже как раз в то время, когда у меня делается бэкап почты, там достаточно много файловых операций, но вот с оперативкой не так уж и много. Скрипт на перле отжирал максимум 10 метров вроде бы.
Из сервисов сервак предоставляет следующее:
- база данных postgresql (инфа для exim, статистика по почте). Нагрузки как таковой немного
- почта, exim, dovecot-imap(s) (одновремененно пользуются около 100 пользователей)
- apache с админкой для exim'a на php, используется так же perl, тут же в апаче календарь для тундерберда, и автоконфиг для thunderbird
- nagios (проверяет около 20 хостов)
- vsftpd (почти не используется)
Прошу помощи, чувствую, что намудрил я с параметрами sysctl, и из-за этого сервак начал валиться в панику, т.к. раньше не было такого.
Спасибо заранее!