Jak ustawić txqueuelen na Mac OS X.

3

Jak ustawić długość kolejki transmisji dla interfejsu sieciowego w systemie Mac OSX? W Linuksie komenda byłaby

ifconfig en0 txqueuelen 5

ale OSX nie rozpoznaje txqueuelen jako prawidłowej opcji. Gdzie BSD zarządza tego rodzaju konfiguracją?

Leopd
źródło

Odpowiedzi:

2

Można teraz sprawdzić ustawienia domyślne systemu (kolejki wysyłania i odbierania):

sysctl net.link.generic.system.sndq_maxlen
sysctl net.link.generic.system.rcvq_maxlen

Aby ustawić domyślną kolejkę transmisji (bieżąca domyślna wartość 128), np .:

sysctl -w net.link.generic.system.sndq_maxlen=150

i domyślna kolejka odbiorcza (bieżąca domyślna 256) np .:

sysctl -w net.link.generic.system.rcvq_maxlen=260

Nie jest jasne, czy można ustawić długość kolejki według interfejsu. Domyślna długość kolejki wyjściowej jest ustawiona w jądrze xnu: bsd / net / if.h: #define IFQ_MAXLEN 128

W starszych jądrach można było ustawić maksymalną długość kolejki wejściowej w systemie OSX w następujący sposób (np. Do 100 pakietów) - co może być przydatne do dostrajania wydajności przepływów pakietów przychodzących - jest to kolejka wewnętrzna, w której pakiety są umieszczane, gdy odpadną interfejs przychodzący:

sysctl -w net.inet.ip.intr_queue_maxlen=100
Pierz
źródło
1

Zwykle „sysctl” służy do strojenia parametrów TCP. Przejrzałem wyniki

 sysctl -a

i chociaż nie widzę nic, co mogłoby być dokładnym dopasowaniem, istnieje kilka możliwych parametrów. Muszę zaznaczyć, że BSD i Linux różnią się znacznie wewnętrznymi elementami i może nie być analogicznej regulacji txqueuelen. (tj .: paradygmat może nie dotyczyć implementacji sieci MacOS)

Nevin Williams
źródło