Acabei de instalar uma nova placa de interface de rede gigabit (NIC) no Linux. Como posso saber se ele está realmente configurado para velocidades de gigabit? Vejo que ethtool
tem uma opção para definir a velocidade, mas não consigo descobrir como relatar sua velocidade atual.
Basta usar um comando como:
ethtool eth0
para obter as informações necessárias. Ex:$ sudo ethtool eth0 | grep Speed
É possível usar as informações do kernel quando o ethtool estiver ausente:
Exemplo para interface chamada eth0:
NOTA: a página de manual para
mii-tool
tem este aviso:Use
mii-tool
para observar a velocidade de rede negociada.Ex.
Existem algumas ótimas respostas aqui, eu só queria adicionar mais algumas opções.
1. Eu sei que isso não é bem o que você perguntou (leia sobre outras maneiras). Mas se você quiser saber o desempenho real do seu NIC , em vez do que seu computador diz que deveria ser, você pode usar o iperf. Eu costumo fazer isso - porque você nunca sabe. Comprei recentemente uma NIC de 1Gb que transferia apenas a 672Mbps, mas o uplink era de 1Gb. Ainda bem que verifiquei.
Você vai precisar de dois computadores.
No computador um, execute o iperf no modo servidor:
Por outro, execute o iperf no modo cliente:
Se você quiser ver a velocidade full duplex, tente isto:
Substitua 192.168.0.10 pelo endereço IP dos servidores
2. Em sistemas Ubuntu,
/var/log/kern.log
tem registro limitado de eventos do kernel. Ele registrará a velocidade do link e o status de uma NIC quando ela for alterada. Tenho certeza de que outras distribuições provavelmente fazem algo semelhante ou podem ser configuradas para fazer isso.3. Você provavelmente nunca precisará ir tão longe, mas você pode escrever código em C para obter a velocidade. Trabalho testado e root não é necessário.
https://stackoverflow.com/questions/2872058/get-link-speed-programmatically
Como Khaled mencionou, você deve ser capaz de executar ethtool apenas com a interface como argumento. Isso listará as velocidades suportadas, as velocidades anunciadas, a velocidade atual e várias outras coisas também:
Você também pode executar
dmesg
, e grep para sua interface, mas isso pode não funcionar se seu sistema estiver rodando por um longo tempo e o buffer atual não tiver mais essa informação (nesse caso, você terá que grep o /var mais antigo /log/dmesg.* arquivos):Use o comando abaixo
consulte isso
Também para referência futura, notei que o campo de velocidade no ethtool fornece a velocidade máxima suportada pela NIC e a ferramenta mii fornece a velocidade real na qual a NIC está sendo executada.
ATUALIZAÇÃO: Depois de um tempo descobri que o mii-tool não estava retornando a velocidade correta, pois estava desatualizado e obsoleto e o ethtool estava retornando a velocidade negociada.
ethtool eth0
trabalhou para mim. Exemplo: