Valmon Posted April 5, 2013 Posted April 5, 2013 Привествую! Столкнулся сегодня с непонятной ситуацией, а именно, непонятно с чего, стал вываливаться рсинк на новой системе, с ошибками на io. Выяснилось что проблема в ошибках на интерфейсе # netstat -I em1 -w01 36192 112 0 54538798 27682 0 1866096 0 28184 43 0 42508684 21589 0 1454434 0 52210 96 0 79032854 40060 0 2692244 0 49669 98 0 75063066 38172 0 2567120 0 44385 77 0 67101744 34085 0 2293279 0 input (em1) output packets errs idrops bytes packets errs bytes colls 26876 122 0 40605714 20570 0 1381856 0 17992 30 0 27111034 13817 0 931350 0 33118 52 0 50012916 25412 0 1711414 0 18541 71 0 27966874 14258 0 962374 0 35455 56 0 53237196 27194 0 1832152 0 26855 63 0 40417062 20653 0 1390470 0 17181 64 0 25750664 13141 0 885539 0 14205 74 0 21368704 10772 0 726884 0 Система: # uname -a FreeBSD h15-g04. l.ru 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec 4 09:23:10 UTC 2012 root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 Вывод # sysctl dev.em. dev.em.0.%desc: Intel(R) PRO/1000 Network Connection 7.3.2 dev.em.0.%driver: em dev.em.0.%location: slot=25 function=0 handle=\_SB_.PCI0.ILAN dev.em.0.%pnpinfo: vendor=0x8086 device=0x10bd subvendor=0x8086 subdevice=0x34d0 class=0x020000 dev.em.0.%parent: pci0 dev.em.0.nvm: -1 dev.em.0.debug: -1 dev.em.0.fc: 3 dev.em.0.rx_int_delay: 0 dev.em.0.tx_int_delay: 66 dev.em.0.rx_abs_int_delay: 66 dev.em.0.tx_abs_int_delay: 66 dev.em.0.rx_processing_limit: 100 dev.em.0.eee_control: 1 dev.em.0.link_irq: 0 dev.em.0.mbuf_alloc_fail: 0 dev.em.0.cluster_alloc_fail: 0 dev.em.0.dropped: 0 dev.em.0.tx_dma_fail: 0 dev.em.0.rx_overruns: 0 dev.em.0.watchdog_timeouts: 0 dev.em.0.device_control: 403702336 dev.em.0.rx_control: 0 dev.em.0.fc_high_water: 8192 dev.em.0.fc_low_water: 6692 dev.em.0.queue0.txd_head: 0 dev.em.0.queue0.txd_tail: 0 dev.em.0.queue0.tx_irq: 0 dev.em.0.queue0.no_desc_avail: 0 dev.em.0.queue0.rxd_head: 0 dev.em.0.queue0.rxd_tail: 0 dev.em.0.queue0.rx_irq: 0 dev.em.0.mac_stats.excess_coll: 0 dev.em.0.mac_stats.single_coll: 0 dev.em.0.mac_stats.multiple_coll: 0 dev.em.0.mac_stats.late_coll: 0 dev.em.0.mac_stats.collision_count: 0 dev.em.0.mac_stats.symbol_errors: 0 dev.em.0.mac_stats.sequence_errors: 0 dev.em.0.mac_stats.defer_count: 0 dev.em.0.mac_stats.missed_packets: 0 dev.em.0.mac_stats.recv_no_buff: 0 dev.em.0.mac_stats.recv_undersize: 0 dev.em.0.mac_stats.recv_fragmented: 0 dev.em.0.mac_stats.recv_oversize: 0 dev.em.0.mac_stats.recv_jabber: 0 dev.em.0.mac_stats.recv_errs: 0 dev.em.0.mac_stats.crc_errs: 0 dev.em.0.mac_stats.alignment_errs: 0 dev.em.0.mac_stats.coll_ext_errs: 0 dev.em.0.mac_stats.xon_recvd: 0 dev.em.0.mac_stats.xon_txd: 0 dev.em.0.mac_stats.xoff_recvd: 0 dev.em.0.mac_stats.xoff_txd: 0 dev.em.0.mac_stats.total_pkts_recvd: 0 dev.em.0.mac_stats.good_pkts_recvd: 0 dev.em.0.mac_stats.bcast_pkts_recvd: 0 dev.em.0.mac_stats.mcast_pkts_recvd: 0 dev.em.0.mac_stats.rx_frames_64: 0 dev.em.0.mac_stats.rx_frames_65_127: 0 dev.em.0.mac_stats.rx_frames_128_255: 0 dev.em.0.mac_stats.rx_frames_256_511: 0 dev.em.0.mac_stats.rx_frames_512_1023: 0 dev.em.0.mac_stats.rx_frames_1024_1522: 0 dev.em.0.mac_stats.good_octets_recvd: 0 dev.em.0.mac_stats.good_octets_txd: 0 dev.em.0.mac_stats.total_pkts_txd: 0 dev.em.0.mac_stats.good_pkts_txd: 0 dev.em.0.mac_stats.bcast_pkts_txd: 0 dev.em.0.mac_stats.mcast_pkts_txd: 0 dev.em.0.mac_stats.tx_frames_64: 0 dev.em.0.mac_stats.tx_frames_65_127: 0 dev.em.0.mac_stats.tx_frames_128_255: 0 dev.em.0.mac_stats.tx_frames_256_511: 0 dev.em.0.mac_stats.tx_frames_512_1023: 0 dev.em.0.mac_stats.tx_frames_1024_1522: 0 dev.em.0.mac_stats.tso_txd: 0 dev.em.0.mac_stats.tso_ctx_fail: 0 dev.em.0.interrupts.asserts: 0 dev.em.0.interrupts.rx_pkt_timer: 0 dev.em.0.interrupts.rx_abs_timer: 0 dev.em.0.interrupts.tx_pkt_timer: 0 dev.em.0.interrupts.tx_abs_timer: 0 dev.em.0.interrupts.tx_queue_empty: 0 dev.em.0.interrupts.tx_queue_min_thresh: 0 dev.em.0.interrupts.rx_desc_min_thresh: 0 dev.em.0.interrupts.rx_overrun: 0 dev.em.0.wake: 0 dev.em.1.%desc: Intel(R) PRO/1000 Legacy Network Connection 1.0.4 dev.em.1.%driver: em dev.em.1.%location: slot=2 function=0 dev.em.1.%pnpinfo: vendor=0x8086 device=0x1076 subvendor=0x8086 subdevice=0x34d0 class=0x020000 dev.em.1.%parent: pci6 dev.em.1.nvm: -1 dev.em.1.rx_int_delay: 0 dev.em.1.tx_int_delay: 66 dev.em.1.rx_abs_int_delay: 66 dev.em.1.tx_abs_int_delay: 66 dev.em.1.rx_processing_limit: 100 dev.em.1.flow_control: 3 dev.em.1.mbuf_alloc_fail: 0 dev.em.1.cluster_alloc_fail: 0 dev.em.1.dropped: 0 dev.em.1.tx_dma_fail: 0 dev.em.1.tx_desc_fail1: 0 dev.em.1.tx_desc_fail2: 7 dev.em.1.rx_overruns: 7577 dev.em.1.watchdog_timeouts: 0 dev.em.1.device_control: 1480327745 dev.em.1.rx_control: 32770 dev.em.1.fc_high_water: 47104 dev.em.1.fc_low_water: 45604 dev.em.1.fifo_workaround: 0 dev.em.1.fifo_reset: 0 dev.em.1.txd_head: 78 dev.em.1.txd_tail: 80 dev.em.1.rxd_head: 96 dev.em.1.rxd_tail: 95 dev.em.1.mac_stats.excess_coll: 0 dev.em.1.mac_stats.single_coll: 0 dev.em.1.mac_stats.multiple_coll: 0 dev.em.1.mac_stats.late_coll: 0 dev.em.1.mac_stats.collision_count: 0 dev.em.1.mac_stats.symbol_errors: 0 dev.em.1.mac_stats.sequence_errors: 0 dev.em.1.mac_stats.defer_count: 0 dev.em.1.mac_stats.missed_packets: 10092 dev.em.1.mac_stats.recv_no_buff: 0 dev.em.1.mac_stats.recv_undersize: 0 dev.em.1.mac_stats.recv_fragmented: 0 dev.em.1.mac_stats.recv_oversize: 0 dev.em.1.mac_stats.recv_jabber: 0 dev.em.1.mac_stats.recv_errs: 0 dev.em.1.mac_stats.crc_errs: 0 dev.em.1.mac_stats.alignment_errs: 0 dev.em.1.mac_stats.coll_ext_errs: 0 dev.em.1.mac_stats.xon_recvd: 0 dev.em.1.mac_stats.xon_txd: 18605 dev.em.1.mac_stats.xoff_recvd: 0 dev.em.1.mac_stats.xoff_txd: 28718 dev.em.1.mac_stats.total_pkts_recvd: 7390410 dev.em.1.mac_stats.good_pkts_recvd: 7380318 dev.em.1.mac_stats.bcast_pkts_recvd: 51519 dev.em.1.mac_stats.mcast_pkts_recvd: 227 dev.em.1.mac_stats.rx_frames_64: 167995 dev.em.1.mac_stats.rx_frames_65_127: 65209 dev.em.1.mac_stats.rx_frames_128_255: 76099 dev.em.1.mac_stats.rx_frames_256_511: 48729 dev.em.1.mac_stats.rx_frames_512_1023: 99550 dev.em.1.mac_stats.rx_frames_1024_1522: 6922736 dev.em.1.mac_stats.good_octets_recvd: 10366198340 dev.em.1.mac_stats.good_octets_txd: 478772091 dev.em.1.mac_stats.total_pkts_txd: 5879684 dev.em.1.mac_stats.good_pkts_txd: 5832361 dev.em.1.mac_stats.bcast_pkts_txd: 6 dev.em.1.mac_stats.mcast_pkts_txd: 0 dev.em.1.mac_stats.tx_frames_64: 1099 dev.em.1.mac_stats.tx_frames_65_127: 5427151 dev.em.1.mac_stats.tx_frames_128_255: 389711 dev.em.1.mac_stats.tx_frames_256_511: 737 dev.em.1.mac_stats.tx_frames_512_1023: 743 dev.em.1.mac_stats.tx_frames_1024_1522: 12920 dev.em.1.mac_stats.tso_txd: 0 dev.em.1.mac_stats.tso_ctx_fail: 0 Проблема наблюдается только на em1, второй интерфейс, в порядке. Самое интересное, что ошибок на порту коммутатора, нет, почему и решил, что проблема именно в драйверах. Вставить ник Quote
Valmon Posted April 8, 2013 Author Posted April 8, 2013 Ребят, пните в нужном направлении) Вставить ник Quote
nshut Posted April 9, 2013 Posted April 9, 2013 (edited) а ошибок может и не быть на коммутаторе, один битый немного патч может такие выкрутасы делать (( причем только под нагрузкой я бы первым делом попробовал обменять настройки em1 и em0 сетевые идентичные, замена конфигов дело 3х минут и в ребут (конечно если патчи есть возможность передернуть, заменить где ошибки и поменять местами если в конфигах поменяете ) также посмотрите на статистику буферов, смущает missed packets Edited April 9, 2013 by nshut Вставить ник Quote
Valmon Posted April 9, 2013 Author Posted April 9, 2013 (edited) а ошибок может и не быть на коммутаторе, один битый немного патч может такие выкрутасы делать (( причем только под нагрузкой я бы первым делом попробовал обменять настройки em1 и em0 сетевые идентичные, замена конфигов дело 3х минут и в ребут (конечно если патчи есть возможность передернуть, заменить где ошибки и поменять местами если в конфигах поменяете ) также посмотрите на статистику буферов, смущает missed packets Подозрение на линки, у меня с самого начало возникли, но поменяв местами, проблема осталось уже на другом порту коммутатора, патчкорде. Ошибки именно на этом порту, другой работает отлично. Edited April 9, 2013 by Valmon Вставить ник Quote
Ivan_83 Posted April 9, 2013 Posted April 9, 2013 У меня десктопная сетёвка интела дропала выборочно tcp ack на мак уровне, в сисцтл только один счётчик прирастал по тихоньку. Остальное нормально летало. Это хз как лечить, или на свалку или перепрошивку или прогрев попробовать. Вставить ник Quote
nshut Posted April 9, 2013 Posted April 9, 2013 тогда как вариант попробовать не родные дрова бсд. а загрузить с интела если поддерживает или попробовать сторонние типо яндекс. но проще сетевуху поменять. лично я после установки игб был просто в шоке от разницы Вставить ник Quote
st_re Posted April 10, 2013 Posted April 10, 2013 А карточки набортовые ? Они на разных чипах (да еще, возможно, вторая разведена через одно место). Походу одна тянет трафик, а вторая нет. Ставьте нормальную. Вставить ник Quote
Valmon Posted April 10, 2013 Author Posted April 10, 2013 Карточки встроенные, возможности поставить внешнию, нет, единственный слот на ризере, занят контролером. Вставить ник Quote
st_re Posted April 10, 2013 Posted April 10, 2013 тогда мучайтесь. :) всегда, когда попадались 2 набортные карты на разных чипах, вторая оказывалась таким дерьмом, что ой. хотя потюнить для начала dev.em.1.rx_int_delay: 0 dev.em.1.tx_int_delay: 66 dev.em.1.rx_abs_int_delay: 66 dev.em.1.tx_abs_int_delay: 66 dev.em.1.rx_processing_limit: 100 и hw.em.txd hw.em.rxd я бы попробовал бы.. Вставить ник Quote
Valmon Posted April 10, 2013 Author Posted April 10, 2013 тогда мучайтесь. :) всегда, когда попадались 2 набортные карты на разных чипах, вторая оказывалась таким дерьмом, что ой. хотя потюнить для начала dev.em.1.rx_int_delay: 0 dev.em.1.tx_int_delay: 66 dev.em.1.rx_abs_int_delay: 66 dev.em.1.tx_abs_int_delay: 66 dev.em.1.rx_processing_limit: 100 и hw.em.txd hw.em.rxd я бы попробовал бы.. Игра с: hw.em.txd hw.em.rxd Результатов не дала По поводу: dev.em.1.rx_int_delay: 0 dev.em.1.tx_int_delay: 66 dev.em.1.rx_abs_int_delay: 66 dev.em.1.tx_abs_int_delay: 66 dev.em.1.rx_processing_limit: 100 Как определить оптимальные значения? Вставить ник Quote
boco Posted April 10, 2013 Posted April 10, 2013 тогда мучайтесь. :) всегда, когда попадались 2 набортные карты на разных чипах, вторая оказывалась таким дерьмом, что ой. вторая и есть дерьмо, она обслуживается драйвером if_lem.c а не if_em.c, если присмотреться к dev.em.1.%desc. скорее всего это что-то типа em1@pci0:4:5:0: class=0x020000 card=0x348f8086 chip=0x10768086 rev=0x05 hdr=0x00 vendor = 'Intel Corporation' device = 'Gigabit Ethernet Controller (82541EI)' class = network subclass = ethernet на pci шине. на штатных драйверах можно попробовать /boot/loader.conf hw.em.rxd="4096" hw.em.txd="4096" hw.em.rx_process_limit="-1" net.link.ifqmaxlen="10240" /etc/sysctl.conf dev.em.0.rx_int_delay=20 dev.em.0.rx_abs_int_delay=600 dev.em.0.tx_int_delay=20 dev.em.0.tx_abs_int_delay=600 dev.em.0.rx_processing_limit=-1 dev.em.0.fc=0 dev.em.1.rx_int_delay=20 dev.em.1.rx_abs_int_delay=600 dev.em.1.tx_int_delay=20 dev.em.1.tx_abs_int_delay=600 dev.em.1.rx_processing_limit=-1 dev.em.1.flow_control=0 net.inet.ip.intr_queue_maxlen=4096 net.route.netisr_maxqlen=2048 net.inet.flowtable.enable=0 hw.intr_storm_threshold=8000 kern.ipc.nmbclusters=102400 net.inet.ip.redirect=0 kern.random.sys.harvest.ethernet=0 kern.random.sys.harvest.point_to_point=0 kern.random.sys.harvest.interrupt=0 Вставить ник Quote
Valmon Posted April 11, 2013 Author Posted April 11, 2013 тогда мучайтесь. :) всегда, когда попадались 2 набортные карты на разных чипах, вторая оказывалась таким дерьмом, что ой. вторая и есть дерьмо, она обслуживается драйвером if_lem.c а не if_em.c, если присмотреться к dev.em.1.%desc. скорее всего это что-то типа em1@pci0:4:5:0: class=0x020000 card=0x348f8086 chip=0x10768086 rev=0x05 hdr=0x00 vendor = 'Intel Corporation' device = 'Gigabit Ethernet Controller (82541EI)' class = network subclass = ethernet Да, все верно, на этом чипе: em1@pci0:6:2:0: class=0x020000 card=0x34d08086 chip=0x10768086 rev=0x05 hdr=0x00 vendor = 'Intel Corporation' device = '82541GI Gigabit Ethernet Controller' class = network subclass = ethernet Вставить ник Quote
Valmon Posted April 11, 2013 Author Posted April 11, 2013 Нашел на интеле, драйвера https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&ProdId=1641&DwnldID=22204&ProductFamily=%D0%9A%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%8B+Ethernet&ProductLine=%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D1%8B+%D1%81%D0%B5%D1%82%D0%B8+Ethernet&ProductProduct=%D0%93%D0%B8%D0%B3%D0%B0%D0%B1%D0%B8%D1%82%D0%BD%D1%8B%D0%B9+Ethernet-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80+Intel%C2%AE+82541GI&DownloadType=%D0%94%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D1%8B&OSFullname=FreeBSD*〈=rus Только вот не знаю, стоит ли заменять штатные на эти. Вставить ник Quote
boco Posted April 11, 2013 Posted April 11, 2013 так ведь у вас и так версия драйверов 7.3.2 Вставить ник Quote
rdc Posted April 12, 2013 Posted April 12, 2013 Выяснилось что проблема в ошибках на интерфейсеВы упираетесь в предел пропускной способности PCI. Проблема решается только использованием PCI-E карты. Вставить ник Quote
Valmon Posted April 15, 2013 Author Posted April 15, 2013 Выяснилось что проблема в ошибках на интерфейсеВы упираетесь в предел пропускной способности PCI. Проблема решается только использованием PCI-E карты. Видимо да. Перевел порт с авто на авто 100, линк выпал из порт группы lacp Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.