voodoo Posted January 19, 2017 (edited) · Report post Коллеги , скажите , кто то использовал данную карту. Стоит FreeBSD 11, 2хXeon 5650 12 ядер без гипертрейдинга и карта Silicom PE310G4i71LB-XR , чипсет Intel FTXL710AM1 Судя по статистике , нагрузку гонят тока на 8 ядрах, 4 пустуют. Не подскажите как заставить использовать все ядра , или может она может только 8 очередей использовать ? CPU 0: 0.0% user, 0.0% nice, 0.0% system, 15.7% interrupt, 84.3% idle CPU 1: 0.0% user, 0.0% nice, 0.0% system, 16.5% interrupt, 83.5% idle CPU 2: 0.0% user, 0.0% nice, 0.0% system, 15.4% interrupt, 84.6% idle CPU 3: 0.0% user, 0.0% nice, 0.4% system, 12.2% interrupt, 87.4% idle CPU 4: 0.0% user, 0.0% nice, 0.4% system, 20.5% interrupt, 79.1% idle CPU 5: 0.0% user, 0.0% nice, 0.0% system, 14.6% interrupt, 85.4% idle CPU 6: 0.0% user, 0.0% nice, 0.0% system, 16.1% interrupt, 83.9% idle CPU 7: 0.0% user, 0.0% nice, 0.0% system, 13.8% interrupt, 86.2% idle CPU 8: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle CPU 9: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle CPU 10: 0.0% user, 0.0% nice, 1.2% system, 0.0% interrupt, 98.8% idle CPU 11: 0.0% user, 0.0% nice, 0.8% system, 0.0% interrupt, 99.2% idle Edited January 19, 2017 by voodoo Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted January 19, 2017 · Report post Если это не пппое то попробуй: sysctl net.isr.dispatch=deferred Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
snvoronkov Posted January 19, 2017 · Report post http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xl710-10-40-controller-datasheet.pdf MSI-X: Supports up to 1168 MSI-X vectors, shared among PFs and VFs. Up to 129 MSI-X interrupts can beassigned to a single PF and up to 17 MSI-X interrupts can be assigned to a single VF, depending on the number of enabled functions. В драйвере для дефолта: queues = (mp_ncpus > (available - 1)) ? (available - 1) : mp_ncpus; Возможно, на маме не хватает свободных прерываний. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
voodoo Posted January 19, 2017 (edited) · Report post Если это не пппое то попробуй: sysctl net.isr.dispatch=deferred Данная команда вообще в одно ядро все переводит ( В драйвере для дефолта: queues = (mp_ncpus > (available - 1)) ? (available - 1) : mp_ncpus; Возможно, на маме не хватает свободных прерываний. Можно попродробнее, в данный момент стоит штатфный драйвер Feebsd ничего на нем не менялось. Дравейр стоит ixl0: <Intel(R) Ethernet Connection XL710/X722 Driver, Version - 1.6.6-k> mem 0x ixl0: Using MSIX interrupts with 9 vectors ixl0: fw 5.0.40043 api 1.5 nvm 5.02 etid 80002248 oem 0.0.0 ixl0: PF-ID[0]: VFs 32, MSIX 129, VF MSIX 5, QPs 384, I2C ixl0: Allocating 8 queues for PF LAN VSI; 8 queues active ixl0: Ethernet address: 00:e0:ed:75:1d:56 ixl0: PCI Express Bus: Speed 5.0GT/s Width x8 ixl0: PCI-Express bandwidth available for this device may be insufficient for op ixl0: For optimal performance, a x8 PCIE Gen3 slot is required. ixl0: SR-IOV ready ixl0: netmap queues/slots: TX 8/1024, RX 8/1024 Edited January 19, 2017 by voodoo Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
snvoronkov Posted January 19, 2017 · Report post Нету у меня 11-ой фри. На 10.3 смотрел. "man ixl" дает hw.ixl.max_queues. Идем в /usr/src/sys/dev/ixl и grep-им его на предмет поведения при умолчательном 0 в этой sysctl. Оно мне и дало эту строчку. Читать как: ЕСЛИ процессоров больше чем свободных прерываний - 1 ТО очередей будет = свободных прерываний - 1 ИНАЧЕ количество процессоров Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
voodoo Posted January 19, 2017 · Report post Нету у меня 11-ой фри. На 10.3 смотрел. "man ixl" дает hw.ixl.max_queues. Идем в /usr/src/sys/dev/ixl и grep-им его на предмет поведения при умолчательном 0 в этой sysctl. Оно мне и дало эту строчку. Читать как: ЕСЛИ процессоров больше чем свободных прерываний - 1 ТО очередей будет = свободных прерываний - 1 ИНАЧЕ количество процессоров Если попробовать поставить в loader.conf hw.ixl.max_queues = Количество ядер , изменит нет потому как по умолчанию стоит 0 , ман говорит что если 0 , то автовычисление https://www.freebsd.org/cgi/man.cgi?query=ixl&sektion=4 hw.ixl.max_queues Set the number of queues (each a TX/RX pair) for the port, this allows one to override the autocalculation if it is set to 0. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted January 19, 2017 · Report post Данная команда вообще в одно ядро все переводит ( Там рядом крутилка есть чтобы количество потоков задать. net.isr.numthreads: 16 net.isr.bindthreads: 1 net.isr.maxthreads: 16 в лодере пропиши и ребут. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
voodoo Posted January 19, 2017 · Report post Данная команда вообще в одно ядро все переводит ( Там рядом крутилка есть чтобы количество потоков задать. net.isr.numthreads: 16 net.isr.bindthreads: 1 net.isr.maxthreads: 16 в лодере пропиши и ребут. У меня 12 ядер , 12 нужно указать ? ) И вот еще хотел спросить , по опыту как лучше с гипертрейдингом или без , если гипер включить то 24 ядра будет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted January 20, 2017 · Report post Я вообще 1024 пишу, система сама правит до реальных цифр. ИМХО лучше без, но можешь попробовать и так и так, ибо моё мнение базируется на теории без практики на современных процах. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
voodoo Posted January 21, 2017 · Report post Обратил внимание что сейчас в FreeBSD поддержка ipfw и nat идет как отдельный подгружаемый модуль в ядро , или лучше скомпилировать ядро с поддержкой IPFW Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted January 21, 2017 · Report post Обратил внимание что сейчас в FreeBSD поддержка ipfw и nat идет как отдельный подгружаемый модуль в ядро , или лучше скомпилировать ядро с поддержкой IPFW Все равно. Обычно при сетевых картах 10Г ОЗУ хватает. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted January 21, 2017 · Report post Обратил внимание что сейчас в FreeBSD поддержка ipfw и nat идет как отдельный подгружаемый модуль в ядро , или лучше скомпилировать ядро с поддержкой IPFW Уже лет 5+. Без разницы, есть нюансы с дефолт аккепт/режект при загрузке но не более. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
voodoo Posted January 23, 2017 · Report post Появилась проблема, через некоторое время, несколько часов работы под нагрузкой, kernel заваливает все ядра проца в потолок 100% , в логах ничего , и не понятно почему такое происходит, кто то встречал такое ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted January 23, 2017 · Report post ipfw NAT? deny_in решение Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted January 24, 2017 · Report post Появилась проблема, через некоторое время, несколько часов работы под нагрузкой, kernel заваливает все ядра проца в потолок 100% , в логах ничего , и не понятно почему такое происходит, кто то встречал такое ? kldload hwpmc pmcstat -TS instructions -w1 В помощь! Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...