Страница 1 из 1

После обновления hald и Xorg грузят процессор 100%

Добавлено: 2012-09-09 12:25:47
hanggard
Привет. Волею судеб, пришлось мне обновить FreeBSD на сервере, да с семерки (7.4) до девятки (9.0). Поскольку сам прекрасно понимаю, что при обновлении мажорной версии сильно не рекомендуется прыгать через голову, то поделил процесс на 2 этапа: сначала обновлялся до 8.2, а потом уже оттуда до девятки.
В общем, сейчас имеем:

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

root@unicron:/usr/home/hanggard# uname -a
FreeBSD unicron.hanggard.local 9.0-RELEASE-p4 FreeBSD 9.0-RELEASE-p4 #0: Fri Sep  7 20:35:32 NOVT 2012     root@unicron.hanggard.local:/usr/obj/usr/src/sys/TheUnicronVIII  i386
После обновления до 9.0 возникло больше вопросов, чем ответов:
— почему ядро собралось без модулей (были проблемы с модулем ZFS — починил, но модулей теперь стало ровно три, а не стопицот, как раньше)
— модуль linux.ko хоть и собрался и подгружается — не работает linprocfs
— hald и xorg при запуске грузят процессор на 100%, это для меня критично.
Вот мой конфиг ядра:

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

root@unicron:/usr/home/hanggard# cat /usr/src/sys/i386/conf/TheUnicronVIII | grep -v ^# | grep -v ^$
cpu             I486_CPU
cpu             I586_CPU
cpu             I686_CPU
include         PAE
ident           TheUnicronVIII
makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols
makeoptions     MODULES_OVERRIDE="zfs opensolaris linux"
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
options         USB_DEBUG       # enable debug msgs
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          uhid            # "Human Interface Devices"
device          ukbd            # Keyboard
device          ulpt            # Printer
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
Вот конфиг файла PAE

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

root@unicron:/usr/home/hanggard# cat /usr/src/sys/i386/conf/PAE | grep -v ^# | grep -v ^$
ident           PAE
options         PAE                     # Physical Address Extensions Kernel
device          ispfw
nodevice        ahb
nodevice        amd
nodevice        sym
nodevice        trm
nodevice        adv
nodevice        adw
nodevice        aha
nodevice        aic
nodevice        bt
nodevice        ncv
nodevice        nsp
nodevice        stg
nodevice        asr
nodevice        dpt
nodevice        mly
nodevice        hptmv
nodevice        hptrr
nodevice        ida
nodevice        mlx
nodevice        pst
nodevice        agp
nodevice        txp
nodevice        vx
nodevice        nve
nodevice        pcn
nodevice        sf
nodevice        sis
nodevice        ste
nodevice        tl
nodevice        tx
nodevice        vr
nodevice        wb
nodevice        cs
nodevice        ed
nodevice        ex
nodevice        ep
nodevice        fe
nodevice        ie
nodevice        sn
nodevice        xe
nodevice        an
nodevice        ath             # Atheros pci/cardbus NIC's
nodevice        ath_pci
nodevice        ath_hal
nodevice        ath_rate_sample # SampleRate tx rate control for ath
nodevice        ipw
nodevice        iwi
nodevice        iwn
nodevice        malo
nodevice        mwl
nodevice        ral
nodevice        wi
nodevice        wpi
После установки, естественно, подправил все конфиги с помощью mergemaster, а после выявления косяков с hald попробовал его пересобрать, что в итоге вылилось в полную пересборку всего софта с помощью

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

portupgrade -arfR
И да, вот мой rc.conf:

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

root@unicron:/usr/home/hanggard# cat /etc/rc.conf | grep -v ^# | grep -v ^$
zfs_enable="YES"
keymap="ru.koi8-r"
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
scrnmap="koi8-r2cp866"
dumpdev="AUTO"
dumpdir="/var/crash"
savecore_flags="-v"
moused_enable="YES"
linux_enable="YES"
dbus_enable="YES"
xdm_enable="YES"
healthd_enable="YES"
ifconfig_fxp0="UP"
ifconfig_re0="UP"
ifconfig_ale0="UP"
cloned_interfaces="vlan10 vlan100 vlan112"
ifconfig_vlan100="10.54.0.1/27 vlan 100 vlandev re0"
ifconfig_vlan112="10.22.252.6/30 vlan 112 vlandev ale0"
ifconfig_vlan10="10.0.0.253/30 vlan 10 vlandev re0"
ifconfig_re0="169.254.0.1/16"
ifconfig_ale0="192.168.1.254/24"
ifconfig_fxp0="DHCP"
hostname="unicron.hanggard.local"
inetd_enable="YES"
gateway_enable="YES"
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_program="/sbin/pfctl"
pf_flags="-f /etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pf.log"
pflog_program="/sbin/pflogd"
pflog_flags=""
pfsync_enable="NO"
pfsync_syncdev=""
pfsync_ifconfig=""
dhcpd_enable="YES"
dhcpd_flags="-q"
dhcpd_conf="/usr/local/etc/dhcpd.conf"
dhcpd_ifaces="vlan100"
dhcpd_withumask="022"
named_enable="YES"
named_flags="-u bind -s"
sendmail_enable="NONE"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
sshd_enable="YES"
smbd_enable="YES"
nmbd_enable="YES"
pureftpd_enable="YES"
apache22_enable="YES"
mysql_enable="YES"
rtorrent_enable="YES"
rpcbind_enable="YES"
nfs_server_enable="YES"
nfs_server_flags="-u -t -h 10.54.0.1"
zabbix_server_enable="YES"
ntpdate_enable="YES"
ntpdate_flags="-b 132.163.4.101 132.163.4.102 132.163.4.103"
ntpd_enable="YES"
ntpd_flags="-l /var/log/ntpd.log -p /var/run/ntpd.pid" #-c /etc/ntp.conf
udpxy_enable="YES"
udpxy_port="1234"
udpxy_flags="-S -m 109.171.78.82 -a 109.171.78.82 -M 30"
ejabberd_enable="YES"
mpd_enable="YES"
fusefs_enable="YES"
mountd_enable="YES"
mountd_flags="-r -n"
snmpd_enable="YES"
darkstat_enable="YES"
darkstat_interface="vlan100"
darkstat_dir="/var/run/darkstat"
darkstat_pidname="darkstat.pid"
darkstat_dropuser="nobody"
darkstat_flags="-b 10.54.0.1 -l 10.54.0.0/255.255.255.224 --import darkstat.db --export darkstat.db"
jail_enable="NO"
jail_list="web"
jail_set_hostname_allow="NO"
jail_socket_unixiproute_only="YES"
jail_devfs_enable="YES"
jail_devfs_ruleset="devfsrules_jail"
jail_flags="-l -U root securelevel=3"
jail_procfs_enable="YES"
jail_web_ip="10.54.0.20"
for JAIL in $jail_list
do
        JPATH="/jails/${JAIL}"
        eval jail_${JAIL}_rootdir="${JPATH}"
        eval jail_${JAIL}_hostname="${JAIL}.hanggard.local"
        eval jail_${JAIL}_exec_prestart0="/bin/sh\ /etc/rc.jail\ ${JAIL}"
        eval jail_${JAIL}_exec_poststop0="/bin/sh\ /etc/shutdown.jail\ ${JAIL}"
        [ -f /etc/rc.jail-${JAIL} ] && \
        eval jail_${JAIL}_exec_prestart1="/bin/sh\ /etc/rc.jail-${JAIL}"
        [ -f /etc/shutdown.jail-${JAIL} ] && \
        eval jail_${JAIL}_exec_poststop1="/bin/sh\ /etc/shutdown.jail-${JAIL}"
done
Конфигу xorg.conf пришлю уже по запросу, если это будет важно, т.к. мне кажется, что дело тут совсем даже не в конфигах иксов/hald, а в опциях ядра или чего-то еще. Если необходимы еще какие-либо конфиги — говорите, я пришлю. Весьма сильно надеюсь на содействие и помощь, ибо мой моск уже просто отказывается воспринимать действительность :)

Re: После обновления hald и Xorg грузят процессор 100%

Добавлено: 2012-09-11 8:36:59
res251
я вот не давно перешол на pkg пришлось удалять все и также заново ставить, но уже через pkg, так вот при первой загрузке тормоза, сначала может вроде ничего, мышка не работала, пока не добавил Option "AllowEmptyInput" "off", а потом после перегрузки мышка двигается а открыть ничего нельзя. Загрузка процессора по полной. В /var/log/xorg.o.log были ошибки что то вроде "new mouse error", потом вспомнил что когда ставил год назад Х-сы то раскладка клавиатуры не работала через xorg.conf, на сайте нашол решение:
/usr/local/etc/hal/fdi/policy/x11-input.fdi
после переноса его в другую папку все стало отлично работать, вчера лично несколько раз подряд перегружался и проверял.
Не знаю может поможет. Как говрят чем черт не шутит.
у меня xorg 7.5.1 насколько я помню

Re: После обновления hald и Xorg грузят процессор 100%

Добавлено: 2012-09-11 9:00:41
hanggard
Короче, я смотрю, мир полон ответов. Ну что ж, два я нашел сам, третий (иксы) пока не знаю, получится или нет. Пока выкладываю:
— Убрал из файла ядра PAE и опцию Modules_override — ядро собралось с модулями
— Из-за этого заработал linprocfs
— зашел в /usr/ports/devel/libusb и сделал make deinstall clean, а после этого make -C /usr/ports/sysutils/hal config reinstall clean (можно portupgrade'ом, можно portmaster'ом — решите для себя сами). В итоге после перезапуска hald не жрет процессор вообще. Пруф: http://forums.freebsd.org/showthread.php?t=9575
Что касается иксов — с ними надо, конечно, разбираться, но я пока не имею на это времени. Ответы пишу на случай, если я не одинок.

Re: После обновления hald и Xorg грузят процессор 100%

Добавлено: 2012-09-11 11:14:19
hanggard
а для иксов оказалось достаточно удалить xorg.conf и подгрузить драйвер видяшки

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

kldload agp
Тему можно закрывать, я получил все, что хотел. Думаю, остальным будет полезно почитать, если кто столкнется.