Трабла следующая.
Есть машина с FreeBSD 5.2
С нее постоянно грузят сайты через есть.
Железо такое:
Intel D845GVSRL i845
CPU intel celeron 1.8
Mem 128 Mb, pc2700 DDR
Intel 10/100 (em)
Из софта -
Также установлен Апач, PHP, MySQL. Все это активно используется (сайты динамические)Все это хозяйство валится через различное время (2-12 часов) с ошибкой
kernel trap 12 with interrupts disabled
fatal trap 12: page fault while in kernel modeпроцесс который делает бяку - различны
были варианты:
1. swi8: tty: sio clock
2. intN em0
3. swi8 clockЯдро:
machine i386
#cpu I486_CPU
cpu I586_CPU
cpu I686_CPU
ident GENERIC#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" #Default places to look for devices.#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
#options INET6 #IPv6 communications protocols
options FFS #Berkeley Fast Filesystem
options SOFTUPDATES #Enable FFS soft updates support
options UFS_ACL #Support for access control lists
options UFS_DIRHASH #Improve performance on big directories
options MD_ROOT #MD is a potential root device
#options NFSCLIENT #Network Filesystem Client
#options NFSSERVER #Network Filesystem Server
#options NFS_ROOT #NFS usable as /, requires NFSCLIENT
options MSDOSFS #MSDOS Filesystem
options CD9660 #ISO 9660 Filesystem
options PROCFS #Process filesystem (requires PSEUDOFS)
options PSEUDOFS #Pseudo-filesystem framework
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
options COMPAT_FREEBSD4 #Compatible with FreeBSD4
options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI
options KTRACE #ktrace(1) support
options SYSVSHM #SYSV-style shared memory
options SYSVMSG #SYSV-style message queues
options SYSVSEM #SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.# Debugging for use in -current
options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTSoptions IPFIREWALL
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT # for nat
options DUMMYNET # for bandwidth limitating
options RANDOM_IP_ID # generates randon ip id field
options IPSEC
options IPSEC_ESPoptions DEVICE_POLLING
options HZ=1000 # more accurate clock
# To make an SMP kernel, the next two are needed
# options SMP # Symmetric MultiProcessor Kernel
device apic # I/O APICdevice isa
#device eisa
device pci# Floppy drives
device fdc# ATA and ATAPI devices
device ata
device atadisk # ATA disk drives
device ataraid # ATA RAID drives
device atapicd # ATAPI CDROM drives
device atapifd # ATAPI floppy drives
#device atapist # ATAPI tape drives
options ATA_STATIC_ID #Static device numbering# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device psm # PS/2 mousedevice vga # VGA video card driver
device splash # Splash screen and screen saver support
# syscons is the default console driver, resembling an SCO console
device scdevice agp # support several AGP chipsets
# Floating point support - do not disable.
device npx# Power management support (see NOTES for more options)
device apm
# Add suspend/resume support for the i8254.
device pmtimer# Serial (COM) ports
#device sio # 8250, 16[45]50 based serial ports# Parallel port
device ppc
device ppbus # Parallel port bus (required)
device lpt # Printer
#device plip # TCP/IP over parallel
device ppi # Parallel port interface device
#device vpo # Requires scbus and da# If you've got a "dumb" serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to the sio and/or ppc drivers):
#device puc# PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (``Tulip'')
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
device txp # 3Com 3cR990 (``Typhoon'')
device vx # 3Com 3c590, 3c595 (``Vortex'')# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support
device bfe # Broadcom BCM440x 10/100 ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (``Starfire'')
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device sk # SysKonnect SK-984x and SK-982x gigabit ethernet
device ste # Sundance ST201 (D-Link DFE-550TX)
device ti # Alteon Networks Tigon I/II gigabit ethernet
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 ``EPIC'')
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')# Pseudo devices - the number indicates how many units to allocate.
device random # Entropy device
device loop # Network loopback
device ether # Ethernet support
#device sl # Kernel SLIP
device ppp # Kernel PPP
device tun # Packet tunnel.
device pty # Pseudo-ttys (telnet etc)
device md # Memory "disks"
device gif # IPv6 and IPv4 tunneling
#device faith # IPv6-to-IPv4 relaying (translation)# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
device bpf # Berkeley packet filterПробовал менять память на pc2100, увеличивал тайиминги - не помогает.
Менял сетевую - не помогает.Вообще комп находится под неслабой нагрузкой, с него скачивают инфу со скоростью около 20М в минуту (это локалка тестовая). Процессор почти постоянно занят, своп занят примерно на половину. места на HDD хватает (занято около 10%).
В чем может быть трабл и как побороть?
Проц, чипсет и память не перегреваются? Одной рукой за корпус (снимаем статику), пальцем другой руки осторожно по радиаторам. Горячо/больно (в случае чипсета и памяти) -- придётся прикручивать кулер(ы).
>Трабла следующая.
>Есть машина с FreeBSD 5.2
>С нее постоянно грузят сайты через есть.
>Железо такое:
>Intel D845GVSRL i845
>CPU intel celeron 1.8
>Mem 128 Mb, pc2700 DDR
>Intel 10/100 (em)
>Из софта -
>Также установлен Апач, PHP, MySQL. Все это активно используется (сайты динамические)
>
>Все это хозяйство валится через различное время (2-12 часов) с ошибкой
>kernel trap 12 with interrupts disabled
>fatal trap 12: page fault while in kernel mode
>
>процесс который делает бяку - различны
>были варианты:
>1. swi8: tty: sio clock
>2. intN em0
>3. swi8 clockследует получить ядерную корку и посмотреть на чем валится
>Ядро:
>machine i386
>#cpu I486_CPU
>cpu I586_CPU
>cpu I686_CPU
>ident GENERIC
>
>#To statically compile in device wiring instead of /boot/device.hints
>#hints "GENERIC.hints" #Default places to look for devices.
>
>#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
>
>options SCHED_4BSD #4BSD scheduler
>options INET #InterNETworking
>#options INET6 #IPv6 communications protocols
>options FFS #Berkeley Fast Filesystem
>options SOFTUPDATES #Enable FFS soft updates support
>options UFS_ACL #Support for access control lists
>options UFS_DIRHASH #Improve performance on big directories
>options MD_ROOT #MD is a potential root device
>#options NFSCLIENT #Network Filesystem Client
>#options NFSSERVER #Network Filesystem Server
>#options NFS_ROOT #NFS usable as /, requires NFSCLIENT
>options MSDOSFS #MSDOS Filesystem
>options CD9660 #ISO 9660 Filesystem
>options PROCFS #Process filesystem (requires PSEUDOFS)
>options PSEUDOFS #Pseudo-filesystem framework
>options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
>options COMPAT_FREEBSD4 #Compatible with FreeBSD4
>options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI
>options KTRACE #ktrace(1) support
>options SYSVSHM #SYSV-style shared memory
>options SYSVMSG #SYSV-style message queues
>options SYSVSEM #SYSV-style semaphores
>options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
>options KBD_INSTALL_CDEV # install a CDEV entry in /dev
>options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
> # output. Adds ~128k to driver.
>
>options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
> # output. Adds ~215k to driver.
>
>
># Debugging for use in -current
>options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS
>
>
>options IPFIREWALL
>options IPFIREWALL_DEFAULT_TO_ACCEPT
>options IPDIVERT # for nat
>options DUMMYNET # for bandwidth limitating
>options RANDOM_IP_ID # generates randon ip id field
>
>options IPSEC
>options IPSEC_ESP
>
>options DEVICE_POLLING
>
>options HZ=1000 # more accurate clock
>
># To make an SMP kernel, the next two are needed
># options SMP # Symmetric MultiProcessor Kernel
>device apic # I/O APIC
>
>device isa
>#device eisa
>device pci
>
># Floppy drives
>device fdc
>
># ATA and ATAPI devices
>device ata
>device atadisk # ATA disk drives
>device ataraid # ATA RAID drives
>device atapicd # ATAPI CDROM drives
>device atapifd # ATAPI floppy drives
>#device atapist # ATAPI tape drives
>options ATA_STATIC_ID #Static device numbering
>
># atkbdc0 controls both the keyboard and the PS/2 mouse
>device atkbdc # AT keyboard controller
>device atkbd # AT keyboard
>device psm # PS/2 mouse
>
>device vga # VGA video card driver
>
>device splash # Splash screen and screen saver support
>
># syscons is the default console driver, resembling an SCO console
>device sc
>
>device agp # support several AGP chipsets
>
># Floating point support - do not disable.
>device npx
>
># Power management support (see NOTES for more options)
>device apm
># Add suspend/resume support for the i8254.
>device pmtimer
>
># Serial (COM) ports
>#device sio # 8250, 16[45]50 based serial ports
>
># Parallel port
>device ppc
>device ppbus # Parallel port bus (required)
>device lpt # Printer
>#device plip # TCP/IP over parallel
>device ppi # Parallel port interface device
>#device vpo # Requires scbus and da
>
># If you've got a "dumb" serial or parallel PCI card that
>is
># supported by the puc(4) glue driver, uncomment the following
># line to enable it (connects to the sio and/or ppc drivers):
>
>#device pucну и нахрена оставлены драйвера кучи сетевых карт?
># PCI Ethernet NICs.
>device de # DEC/Intel DC21x4x (``Tulip'')
>device em # Intel PRO/1000 adapter Gigabit Ethernet Card
>device txp # 3Com 3cR990 (``Typhoon'')
>device vx # 3Com 3c590, 3c595 (``Vortex'')
>
># PCI Ethernet NICs that use the common MII bus controller code.
>
># NOTE: Be sure to keep the 'device miibus' line in order
>to use these NICs!
>device miibus # MII bus support
>device bfe # Broadcom BCM440x 10/100 ethernet
>device bge # Broadcom BCM570xx Gigabit Ethernet
>device dc # DEC/Intel 21143 and various workalikes
>device fxp # Intel EtherExpress PRO/100B (82557, 82558)
>device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
>
>device re # RealTek 8139C+/8169/8169S/8110S
>device rl # RealTek 8129/8139
>device sf # Adaptec AIC-6915 (``Starfire'')
>device sis # Silicon Integrated Systems SiS 900/SiS 7016
>device sk # SysKonnect SK-984x and SK-982x gigabit ethernet
>device ste # Sundance ST201 (D-Link DFE-550TX)
>device ti # Alteon Networks Tigon I/II gigabit ethernet
>device tl # Texas Instruments ThunderLAN
>device tx # SMC EtherPower II (83c170 ``EPIC'')
>device vr # VIA Rhine, Rhine II
>device wb # Winbond W89C840F
>device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
>
># Pseudo devices - the number indicates how many units to allocate.
>
>device random # Entropy device
>device loop # Network loopback
>device ether # Ethernet support
>#device sl # Kernel SLIP
>device ppp # Kernel PPP
>device tun # Packet tunnel.
>device pty # Pseudo-ttys (telnet etc)
>device md # Memory "disks"
>device gif # IPv6 and IPv4 tunneling
>#device faith # IPv6-to-IPv4 relaying (translation)
>
># The `bpf' device enables the Berkeley Packet Filter.
># Be aware of the administrative consequences of enabling this!
>device bpf # Berkeley packet filter
>
>Пробовал менять память на pc2100, увеличивал тайиминги - не помогает.
>Менял сетевую - не помогает.
>
>Вообще комп находится под неслабой нагрузкой, с него скачивают инфу со скоростью
>около 20М в минуту (это локалка тестовая). Процессор почти постоянно занят,
>своп занят примерно на половину. места на HDD хватает (занято около
>10%).
>
>В чем может быть трабл и как побороть?это ВСЕ?!
оптимизируй ЯДРО: sysctl
оптимизируй MySQL(поддержка тредов): my.cnf (запросы, таблицы)
оптимизируй Apache
увеличить RAM и SWAP.
>оптимизируй ЯДРО: sysctl
Изменял максимально коль-во открытых файлов - не помогает.
Что еще можно изменить, подправить?
>оптимизируй MySQL(поддержка тредов): my.cnf (запросы, таблицы)
что имеется ввиду под "my.cnf (запросы, таблицы)"
что там можно прооптимизировать? Я увселичивалл размеры буферов для более быстрой обработки запросов>оптимизируй Apache
здесь та что можно оптимизировать? (конфиг стандартный)
> увеличить RAM и SWAP.
не понятно откуда такое предположение. Своп и RAM не заняты более чем на половину.
Да это у тебя 100% проблемы с железом, я вот сам мучаюсь - начну ядро компилировать и виснет. Чуть только нагрузишь хард и память с процессором - виснет. Скорее всего это проблема несовместимости кое-каких мамок и 5.2.1, т.к. с 4.9 у меня все летало отлично. Попробуй замени хард или мамку, или на 5.2.3 - мой тебе совет.
>Да это у тебя 100% проблемы с железом, я вот сам мучаюсь
>- начну ядро компилировать и виснет. Чуть только нагрузишь хард и
>память с процессором - виснет. Скорее всего это проблема несовместимости кое-каких
>мамок и 5.2.1, т.к. с 4.9 у меня все летало отлично.
>Попробуй замени хард или мамку, или на 5.2.3 - мой тебе
>совет.
Я бы поверил что это железо но
1. пробовал на 5.2.1-релиз
2. пробовал неоднократно на других платформах (MB elitegroup - фигня конечно но чипсет был интеловский, теперь на интел перешел) винты были и самсунг и сегейт. Память была и pc2100 и pc2700 аже тайминги повышал чтобы память замедлить. Один хрен виснет.Дело в том что этот сервак - так сказать продукт - и у клиентов валится иногда именно с kernel trap 12. правда гораздо реже. Парадокс в том что у некоторых клиентов стоит на таком хрен знает каком древнем желез и хоть бы хрен - нагрузка - 8-10 Гигов в сутки рутит сервак - а хоть бы что, не виснет!
Включил дебаг в ядре, кое-что еще подтюнил с использованием материалов этого сайта. Увеличил своп в два раза с использованием mdвот что мне выдало ядро.
sleeping on "swread" with the following non sleepable locks hold
sleep mutex ifnet locked @ inet\if.c:1671
lock order reversal
1 ifnet if.c:1671
2 Giant kern/kern_synch.c:307
...
trap 0xC
slow_copyout
...
syscall(814002f,2f,bfbf002f,8140000,811bdc8)
...
syscall(54) (это ioctl судя по всему)
ище одна интересная особенность. Ядро валится в панику, после этого начинает ребут, сваливает кэши и при этом виснет. Для начала меня бы устроило чтобы ОС хотя бы сама ребутнулась без подвисонов.