networks Опубликовано 12 декабря, 2010 (изменено) · Жалоба Есть FreeBSD-роутер (8.0), 2 em-карточки, bgpd+ripd+zebra, NAT (pf), чуток правил и пайпов ipfw. Роутит порядка 300 мбит (интернет), 40-50 kpps (in/out) В принципе, все нормально работает, перегрузки нет - но почему-то сегодня утром (понятное дело - совсем не перегруженное время, наоборот - нагрузка снижена) стало резко всё тормозить, потеря пакетов, роутер не отзывается. В логах несколько демонов одновременно пишут: syslogd: sendto: Cannot allocate memory dhcpd: send_packet: Cannot allocate memory ripd[1419]: can't send packet : Cannot allocate memory bgpd[1415]: can't connect to XXX.XXX.XXX.XXX fd 7 : Cannot allocate memory top посмотрел - памяти свободной навалом (всего 4гб). Вылечилось ребутом. Поставил vm.kmem_size_max: 536870912 (было 300мб), но не уверен что проблема была в этом. Погуглил - ничего толкового не нашел. Может быть кто-нибудь сталкивался с таким, подскажете куда копать? Изменено 12 декабря, 2010 пользователем networks Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 12 декабря, 2010 · Жалоба Поищите "Игорь Сысоев тюнинг FreeBSD sysctl". Это классика жанра. Например, http://dadv.livejournal.com/49013.html Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
networks Опубликовано 13 декабря, 2010 · Жалоба А кто-нибудь может подсказать, как посмотреть, что именно происходит в процессах swi1: netisr X ? Чем они заняты в какой-то конкретный момент. На роутере pf nat и dummynet, две сетевые em, проц Core i3 3.20Ghz. Просто делаю net.isr.maxthreads - 3, создаются три thread'а swi1: netisr X, но реально работают только два (третий - вообще не грузит процессор, куда бы его не перемещай cpuset'ом) - интересно, почему только два работают, а третий отдыхает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
networks Опубликовано 13 декабря, 2010 · Жалоба На другой машине (чистый шейпер dummynet, без NAT, BGP, чего-либо еще, динамические пайпы, одна карточка em, трафик входит в один vlan-интерфейс и выходит из другого - т.е. роутинг) - выставлено net.isr.maxthreads=4 (net.isr.numthreads тоже = 4) top -PSH -b 250 | grep netisr 12 root -44 - 0K 152K WAIT 1 45.9H 25.68% {swi1: netisr 1} 12 root -44 - 0K 152K WAIT 0 55.5H 21.29% {swi1: netisr 0} 12 root -44 - 0K 152K WAIT 1 0:00 0.00% {swi1: netisr 2} 12 root -44 - 0K 152K WAIT 0 0:00 0.00% {swi1: netisr 3} Опять же - реально работают два обработчика, а еще два - ничего не делают. С чем это может быть связано? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
X-RaY™ Опубликовано 13 декабря, 2010 · Жалоба Сколько у i3 2 ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mikevlz Опубликовано 14 декабря, 2010 · Жалоба честных ядер там всего два. Остальные - гипертрединг Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
networks Опубликовано 14 декабря, 2010 · Жалоба Т.е. если будет 4 честных ядра - то теоретически, будут работать и два остальных swi? Как они определяют, интересно, "честное" ядро, или нет :) А у Core i5 или i7 - честные 4 ядра? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 14 декабря, 2010 · Жалоба А у Core i5 или i7 - честные 4 ядра?Настоятельно рекомендуются к прочтению:http://ru.wikipedia.org/wiki/Список_микропроцессоров_Core_i3 http://ru.wikipedia.org/wiki/Список_микропроцессоров_Core_i5 http://ru.wikipedia.org/wiki/Список_микропроцессоров_Core_i7 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 14 декабря, 2010 · Жалоба Как они определяют, интересно, "честное" ядро, или нет :) Возможно зависит от опций, с которыми собрано ядро. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
fenix-vt Опубликовано 20 декабря, 2010 · Жалоба Так ли интересен гипертрединг для софт-роутера? Может, есть смысл его отключать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 20 декабря, 2010 · Жалоба Протестируйте под нагрузкой и сами узнаете, нужно оно в вашем случае или нет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
networks Опубликовано 21 декабря, 2010 · Жалоба Поставил сегодня Core i7 на этот роутер, сделал net.isr.maxthreads = 4. По прежнему 2 треда работают (создают нагрузку на процы), 2 курят бамбук :( Интересно, как их все заставить работать. Или дело в не-распаралеливательности pf? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
fenix-vt Опубликовано 21 декабря, 2010 · Жалоба Протестируйте под нагрузкой и сами узнаете, нужно оно в вашем случае или нет.Т.е., каждый случай индивидуален и общих рекомендаций нет? Спасибо! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 22 декабря, 2010 · Жалоба Т.е., каждый случай индивидуален и общих рекомендаций нет?Это не винда+квака. Здесь патчи в ядро каждую неделю появляются, как и для многих компонент, естественно они влияют на поведение как системы в целом так и отдельных приложений. Кроме того, на поведение системы и приложений влияют опции с которыми собрано ядро, загруженные драйвера, опции для компилятора и тюнинг системы (лоадер+сисцтл). Само приложение тоже может по разному работать в средах с разным количеством процов и разными опциями сборки и компилятора. Железо тоже по разному работает, те же контролёры памяти от интела и амд могут давать сильно разные результаты для одних и тех же операций. Факторов масса, а их сочетаний ещё больше. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...