Пришел сегодня с утра и увидел на серваке:
Код: Выделить всё
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, и из-за этого сервак начал валиться в панику, т.к. раньше не было такого.
Спасибо заранее!