3

Как установить длину очереди передачи для сетевого интерфейса в Mac OSX? На Linux команда будет

ifconfig en0 txqueuelen 5

но OSX не распознает txqueuelen в качестве допустимого параметра. Где BSD управляет такой конфигурацией?

2 ответа2

1

Обычно sysctl используется для настройки параметров TCP. Я просмотрел вывод

 sysctl -a

и хотя я не вижу ничего, что могло бы точно соответствовать, есть несколько возможных параметров. Я должен отметить, что BSD и Linux сильно различаются по своим внутренним элементам, и аналогичной настройки txqueuelen может и не быть. (то есть: парадигма может не относиться к сетевой реализации MacOS)

0

Насколько я могу судить, невозможно явно установить длину очереди вывода (кажется, что она жестко задана в ядре xnu: bsd/net/if.h: #define IFQ_MAXLEN 50).

Но вы можете установить максимальную длину входной очереди в OSX следующим образом (например, до 100 пакетов) - что может быть полезно для настройки производительности с потоками входящих пакетов - это внутренняя очередь, в которую пакеты помещаются, когда они выходят из входящего интерфейса:

sysctl -w net.inet.ip.intr_queue_maxlen=100

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .