Como alterar o tamanho da fila de recepção de uma interface de rede no Linux?

4

Eu tenho um servidor rodando Linux (kernel 2.6.18) que está descartando pacotes de rede de entrada drasticamente. Eu pensei que está sofrendo com isso porque o comprimento da fila de recebimento dessa interface é muito pequeno (1000 por padrão). Eu queria ampliar essa fila, modificando o valor de /proc/sys/net/core/netdev_max_backlog (para 3000). Mas isso não parece funcionar. Eu pesquisei e encontrei alguém dizendo que esse valor se aplica apenas a dispositivos não-NAPI que eu não acho que meu dispositivo é como o NAPI tinha sido introduzido desde o kernel 2.4.20. Eu não sabia se isso é verdade e liguei para o doc do kernel instalado no servidor, mas esse documento não tinha sido atualizado desde o kernel 2.2.

Então, pergunto-me se isso é verdade, se é, como posso alterar esse comprimento de fila para um dispositivo NAPI?

Obrigado. Feng

    
por Utoah 22.06.2011 / 12:07

2 respostas

8

Eu finalmente achei que a interface estava perdendo pacotes porque o driver estava configurado com um tamanho de descritor de Rx muito pequeno, que, enquanto trabalhava com coalescência de interrupção, decide quantos pacotes o driver pode armazenar antes de enviar uma interrupção ao kernel. Se esse valor (mostrado com ethtool -g <interface> ) for muito pequeno, os pacotes serão descartados antes que uma interrupção possa ser aumentada. Depois que eu a ampliei com ethtool -G <interface> Rx <a some big value> , nenhum excremento surgiu desde então.

Obrigado a todos.

    
por 24.06.2011 / 05:09
1

Na saída de ethtool -g , você obterá o valor "Máximo pré-definido" e "Configurações de hardware atuais" da sua NIC. Sempre deve ser recomendado definir suas configurações para o valor máximo permitido para evitar quedas de pacotes, mas mais especificamente: erros ou excessos de rx (o que pode acontecer em caso de explosão, por exemplo).

Mesmo em alguns casos, há atualizações de driver que podem aumentar os valores "Máximo pré-definidos" da NIC, tudo dependendo do modelo de curso.

    
por 19.02.2017 / 22:57