Различие между txqueuelen и ethtool tx

Используйте AWK вместо этого

Эту проблему намного легче решить с AWK. Я протестировал это с GNU AWK; при использовании чего-то еще Вы, возможно, должны настроить его немного.

#!/usr/bin/gawk -f

BEGIN { FS = "|" }

{
  split( $3, array, /,/ )
  print $1 "," array[2]
  print $1 "," $2 "," array[2]
  print $1 "," $3
}

Сохраните сценарий где-нибудь (например, parse.awk) и удостоверьтесь, что это - исполняемый файл. Можно затем назвать сценарий на файле CSV или на стандартном входе и собрать результаты как это:

$ echo '1,3917,3917,BGP=694|Ethernet=1610|LAG=3,Y' | parse.awk
1,3917,3917,BGP=694,Y
1,3917,3917,BGP=694,Ethernet=1610,Y
1,3917,3917,BGP=694,LAG=3,Y
12
05.02.2014, 21:01
2 ответа

Настройки net.core.wmem_default и wmem_max управляют начальным и максимальным размером буферов TX-сокетов в байтах. В то время как сама очередь является всего лишь связанным списком указателей skb, ядро также отслеживает общий размер байтов, потребляемых skb по мере их добавления и удаления из буфера сокета. Сисктр wmem_default устанавливает начальный потолок по умолчанию для новых сокетов (net/core/sock.c:sock_init_data()). Приложениям разрешено увеличивать размер буферов своих сокетов и wmem_max является потолком для этой функциональности (net/core/sock.c:sock_setsockopt()).

Когда пакет удален из буфера сокета и проходит через стек сетей ядра, он помещается в очередь передачи, чтобы интерфейс ожидал загрузки на саму сетевую карту. Команды txqueuelen, установленные командами ifconfig или ip, представляют собой количество фреймов, разрешенных на одну очередь передачи ядра для дисциплины очереди (net/sched/sch_generic.c:pfifo_fast_enqueue()).

Наконец, эттул -G использует ioctl для установки количества ринговых записей для кольцевого буфера на самой сетевой карте.

6
27.01.2020, 19:56

Я знаю, что должен дать длинное объяснение, но D Сеймон уже имеет . Вкратце txqueuelen - это размер буфера. Все сетевые пакеты помещаются в этот буфер, тогда как tx - это размер пакета IP-пакета, который попадает в указанный буфер. Это если я правильно понимаю этот пост.

2
27.01.2020, 19:56

Теги

Похожие вопросы