Код: Выделить всё
root@unicron:/usr/home/hanggard# cat /usr/src/sys/i386/conf/TheUnicronIX | grep -v ^# | grep -v ^$
cpu I486_CPU
cpu I586_CPU
cpu I686_CPU
ident TheUnicronIX
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
options ACCEPT_FILTER_HTTP # accf_http
options VFS_AIO # aio
options KVA_PAGES=768 # zfs
options SCHED_ULE # ULE scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options SCTP # Stream Control Transmission Protocol
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 UFS_GJOURNAL # Enable gjournal-based UFS journaling
options MD_ROOT # MD is a potential root device
options NFSCL # New Network Filesystem Client
options NFSD # New Network Filesystem Server
options NFSLOCKD # Network Lock Manager
options NFS_ROOT # NFS usable as /, requires NFSCL
options MSDOSFS # MSDOS Filesystem
options CD9660 # ISO 9660 Filesystem
options PROCFS # Process filesystem (requires PSEUDOFS)
options PSEUDOFS # Pseudo-filesystem framework
options GEOM_PART_GPT # GUID Partition Tables.
options GEOM_LABEL # Provides labelization
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
options COMPAT_FREEBSD6 # Compatible with FreeBSD6
options COMPAT_FREEBSD7 # Compatible with FreeBSD7
options COMPAT_FREEBSD8 # Compatible with FreeBSD8
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
options KTRACE # ktrace(1) support
options STACK # stack(9) 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 PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed.
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4)
options MROUTING # Multicast routing
options AUDIT # Security event auditing
options MAC # TrustedBSD MAC Framework
options FLOWTABLE # per-cpu routing cache
options INCLUDE_CONFIG_FILE # Include this file in kernel
options MAXUSERS=512
options MAXFILES=65535
options KDB # Kernel debugger related code
options KDB_TRACE # Print a stack trace for a panic
options SMP # Symmetric MultiProcessor Kernel
device apic # I/O APIC
device cpufreq
device acpi
device eisa
device pci
device ahci # AHCI-compatible SATA controllers
device ata # Legacy ATA/SATA controllers
options ATA_CAM # Handle legacy controllers with CAM
options ATA_STATIC_ID # Static device numbering
device mvs # Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA
device siis # SiliconImage SiI3124/SiI3132/SiI3531 SATA
# output. Adds ~128k to driver.
# output. Adds ~215k to driver.
device scbus # SCSI bus (required for ATA/SCSI)
device da # Direct Access (disks)
device pass # Passthrough device (direct ATA/SCSI access)
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device psm # PS/2 mouse
device kbdmux # keyboard multiplexer
device vga # VGA video card driver
device sc
options SC_PIXEL_MODE # add support for the raster text mode
device pmtimer
device uart # Generic UART driver
device miibus # MII bus support
device ale # Atheros AR8121/AR8113/AR8114 Ethernet
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device re # RealTek 8139C+/8169/8169S/8110S
device wlan # 802.11 support
options IEEE80211_DEBUG # enable debug msgs
options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
options IEEE80211_SUPPORT_MESH # enable 802.11s draft support
device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support
device wlan_amrr # AMRR transmit rate control algorithm
device loop # Network loopback
device random # Entropy device
device ether # Ethernet support
device vlan # 802.1Q VLAN support
device tun # Packet tunnel.
device pty # BSD-style compatibility pseudo ttys
device md # Memory "disks"
device gif # IPv6 and IPv4 tunneling
device faith # IPv6-to-IPv4 relaying (translation)
device firmware # firmware assist module
device bpf # Berkeley packet filter
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device ehci # EHCI PCI->USB interface (USB 2.0)
device usb # USB Bus (required)
device udbp # USB Double Bulk Pipe devices (needs netgraph)
device uhid # "Human Interface Devices"
device ukbd # Keyboard
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device pf
device pflog
device pfsync
options ALTQ
options ALTQ_CBQ # Class Bases Queuing (CBQ)
options ALTQ_RED # Random Early Detection (RED)
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)
options ALTQ_PRIQ # Priority Queuing (PRIQ)
options ALTQ_NOPCC # Required for SMP build
device smbus
device smb
device intpm
device ichsmb
device alpm
device viapm
device nfpm
device iicbus # Bus support, required for ic/iic/iicsmb below.
device iicbb
device ic
device iic
options NETGRAPH
options NETGRAPH_SPLIT
options NETGRAPH_KSOCKET
options NETGRAPH_SOCKET
options NETGRAPH_BPF
options NETGRAPH_IFACE
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_PPP
options NETGRAPH_PPTPGRE
options NETGRAPH_TCPMSS
options NETGRAPH_VJC
options NETGRAPH_TEE
options NETGRAPH_CAR
Код: Выделить всё
root@unicron:/usr/home/hanggard# cat /boot/loader.conf | grep -v ^# | grep -v ^$
zfs_load="YES"
agp_load="YES"
kqemu_load="YES"
coretemp_load="YES"
vm.kmem_size="1024M"
vm.kmem_size_max="1536M"
vfs.zfs.arc_max="256M"
vfs.zfs.arc_min="100M"
vfs.zfs.vdev.cache.size="16M"
vfs.zfs.prefetch_disable="1"
libiconv_load="YES"
msdosfs_iconv_load="YES"
cd9660_iconv_load="YES"
ntfs_iconv_load="YES"
udf_iconv_load="YES"
autoboot_delay="1"
cd9660_load="YES"
msdosfs_load="YES"
linux_load="YES"
if_re_load="YES"
if_rl_load="YES"
Есть паника раз в 2-3 дня в рандомное время с текстом “page not present”. Вот выхлоп kgdb:
Код: Выделить всё
root@unicron:/usr/src/sys/i386/conf# kgdb /boot/kernel/kernel /var/crash/vmcore.6
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...
Unread portion of the kernel message buffer:
Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address = 0x17
fault code = supervisor read, page not present
instruction pointer = 0x20:0x405ef8d2
stack pointer = 0x28:0x9ea1ba00
frame pointer = 0x28:0x9ea1ba10
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 55895 (rm)
trap number = 12
panic: page fault
cpuid = 1
KDB: stack backtrace:
#0 0x406cf107 at kdb_backtrace+0x47
#1 0x4069c667 at panic+0x117
#2 0x4096db43 at trap_fatal+0x323
#3 0x4096dbfd at trap_pfault+0xad
#4 0x4096e985 at trap+0x465
#5 0x409578dc at calltrap+0x6
#6 0x405f6f0e at ncl_inactive+0x13e
#7 0x4098e6b2 at VOP_INACTIVE_APV+0x42
#8 0x4072f56f at vinactive+0x7f
#9 0x40733ce3 at vputx+0x2a3
#10 0x40733d50 at vput+0x10
#11 0x40737954 at kern_statat_vnhook+0x144
#12 0x40737a4c at kern_statat+0x3c
#13 0x40737a86 at kern_lstat+0x36
#14 0x40737b2f at sys_lstat+0x2f
#15 0x4096e165 at syscall+0x355
#16 0x40957941 at Xint0x80_syscall+0x21
Uptime: 5d12h32m19s
Physical memory: 3024 MB
Dumping 786 MB: 771 755 739 723 707 691 675 659 643 627 611 595 579 563 547 531 515 499 483 467 451 435 419 403 387 371 355 339 323 307 291 275 259 243 227 211 195 179 163 147 131 115 99 83 67 51 35 19 3
Reading symbols from /boot/kernel/ntfs_iconv.ko...Reading symbols from /boot/kernel/ntfs_iconv.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ntfs_iconv.ko
Reading symbols from /boot/kernel/ntfs.ko...Reading symbols from /boot/kernel/ntfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ntfs.ko
Reading symbols from /boot/kernel/libiconv.ko...Reading symbols from /boot/kernel/libiconv.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/libiconv.ko
Reading symbols from /boot/kernel/zfs.ko...Reading symbols from /boot/kernel/zfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/zfs.ko
Reading symbols from /boot/kernel/opensolaris.ko...Reading symbols from /boot/kernel/opensolaris.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/opensolaris.ko
Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/kernel/if_re.ko...Reading symbols from /boot/kernel/if_re.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_re.ko
Reading symbols from /boot/kernel/if_rl.ko...Reading symbols from /boot/kernel/if_rl.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_rl.ko
Reading symbols from /boot/kernel/agp.ko...Reading symbols from /boot/kernel/agp.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/agp.ko
Reading symbols from /boot/kernel/coretemp.ko...Reading symbols from /boot/kernel/coretemp.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/coretemp.ko
Reading symbols from /boot/kernel/msdosfs_iconv.ko...Reading symbols from /boot/kernel/msdosfs_iconv.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/msdosfs_iconv.ko
Reading symbols from /boot/kernel/cd9660_iconv.ko...Reading symbols from /boot/kernel/cd9660_iconv.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/cd9660_iconv.ko
Reading symbols from /boot/kernel/udf_iconv.ko...Reading symbols from /boot/kernel/udf_iconv.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/udf_iconv.ko
Reading symbols from /boot/kernel/udf.ko...Reading symbols from /boot/kernel/udf.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/udf.ko
Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols from /boot/kernel/linprocfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linprocfs.ko
Reading symbols from /boot/modules/kqemu.ko...done.
Loaded symbols for /boot/modules/kqemu.ko
#0 doadump (textdump=1) at pcpu.h:244
244 pcpu.h: No such file or directory.
in pcpu.h
(kgdb) backtrace
#0 doadump (textdump=1) at pcpu.h:244
#1 0x4069c40a in kern_reboot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:442
#2 0x4069c6a1 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:607
#3 0x4096db43 in trap_fatal (frame=0x9ea1b9c0, eva=23) at /usr/src/sys/i386/i386/trap.c:975
#4 0x4096dbfd in trap_pfault (frame=0x9ea1b9c0, usermode=0, eva=23) at /usr/src/sys/i386/i386/trap.c:839
#5 0x4096e985 in trap (frame=0x9ea1b9c0) at /usr/src/sys/i386/i386/trap.c:558
#6 0x409578dc in calltrap () at /usr/src/sys/i386/i386/exception.s:168
#7 0x405ef8d2 in ncl_removeit (sp=0x4f0b1c00, vp=0x4d80c220) at /usr/src/sys/fs/nfsclient/nfs_clvnops.c:1693
#8 0x405f6f0e in ncl_inactive (ap=0x9ea1ba64) at /usr/src/sys/fs/nfsclient/nfs_clnode.c:238
#9 0x4098e6b2 in VOP_INACTIVE_APV (vop=0x40a24520, a=0x9ea1ba64) at vnode_if.c:1863
#10 0x4072f56f in vinactive (vp=0x4d80c220, td=0x4c2f6000) at vnode_if.h:807
#11 0x40733ce3 in vputx (vp=0x4d80c220, func=2) at /usr/src/sys/kern/vfs_subr.c:2297
#12 0x40733d50 in vput (vp=0x4d80c220) at /usr/src/sys/kern/vfs_subr.c:2324
#13 0x40737954 in kern_statat_vnhook (td=0x4c2f6000, flag=512, fd=-100, path=0x284679b8 <Address 0x284679b8 out of bounds>,
pathseg=UIO_USERSPACE, sbp=0x9ea1bc08, hook=0) at /usr/src/sys/kern/vfs_syscalls.c:2434
#14 0x40737a4c in kern_statat (td=0x4c2f6000, flag=512, fd=-100, path=0x284679b8 <Address 0x284679b8 out of bounds>,
pathseg=UIO_USERSPACE, sbp=0x9ea1bc08) at /usr/src/sys/kern/vfs_syscalls.c:2403
#15 0x40737a86 in kern_lstat (td=0x4c2f6000, path=0x284679b8 <Address 0x284679b8 out of bounds>, pathseg=UIO_USERSPACE,
sbp=0x9ea1bc08) at /usr/src/sys/kern/vfs_syscalls.c:2476
#16 0x40737b2f in sys_lstat (td=0x4c2f6000, uap=0x9ea1bcec) at /usr/src/sys/kern/vfs_syscalls.c:2466
#17 0x4096e165 in syscall (frame=0x9ea1bd28) at subr_syscall.c:131
#18 0x40957941 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:266
#19 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)
Код: Выделить всё
root@unicron:/usr/home/hanggard# uname -a
FreeBSD unicron.hanggard.local 9.0-RELEASE-p4 FreeBSD 9.0-RELEASE-p4 #0: Tue Sep 11 11:35:57 NOVT 2012 root@unicron.hanggard.local:/usr/obj/usr/src/sys/TheUnicronIX i386

Ну и как водится, памагииииииите. Реально я думал, что это баг zfs (появилось после включения в ядре данной опции и переноса /usr туда. Когда был только /var (raidz на трех дисках), все было нормально), но после обновления ядра и мира это не прошло. То есть ядро я обновлял не только из-за этого, но все же это не помогло. Сам —очень сильно грешу на vm.kmem_size и некоторые другие параметры, которые пришлось менять при “ZFS-тюнинге”. В общем, чаще всего сервер умирает при нагрузках на ФС, что говорит о том, что кому-то (ядру или ZFS в ущерб друг друга) не хватает памяти.