Je viens d'installer une nouvelle carte d'interface réseau gigabit sous Linux. Comment puis-je savoir s'il est vraiment réglé sur des vitesses gigabits? Je vois ethtool
une option pour régler la vitesse, mais je n'arrive pas à comprendre comment signaler sa vitesse actuelle.
linux
gigabit-ethernet
ethtool
Utilisateur1
la source
la source
Réponses:
Utilisez simplement une commande comme:
ethtool eth0
pour obtenir les informations nécessaires. Ex:$ sudo ethtool eth0 | grep Speed
la source
for i in $(netstat -i | cut -f1 -d" " | tail -n+3) ; do echo "$i: $(ethtool "$i" | grep Speed | sed 's/Speed://g')" ; done
Il est possible d'utiliser les informations du noyau quand ethtool est manquant:
Exemple pour l'interface nommée eth0:
la source
NOTE: la page de manuel pour
mii-tool
a cet avertissement:Utilisez
mii-tool
pour regarder la vitesse du réseau négocié.Ex.
la source
ethtool
n’est pas installé par défaut. Maismii-tool
fait partie de l’essentiel du paquet "net-tools". Donc c'était la meilleure solution pour moi.mii-tool
rapports «négocient 100 contrôle de flux baseTx-FD, link ok», les deuxethtool
etcat /sys/class/net/eth…/speed
s’accordent sur le « Full duplex 1000 Mb / s». Il s’agit d’un contrôleur USB 3.0, à savoir ASIX AX88179 (pilote «ax88179_178a» pour Linux).Il y a quelques bonnes réponses ici, je voulais juste ajouter quelques options supplémentaires.
1. Je sais que ce n'est pas tout à fait ce que vous avez demandé (lisez la suite pour d'autres manières). Mais si vous souhaitez connaître les performances réelles de votre carte réseau , plutôt que ce que votre ordinateur vous dit d’être, vous pouvez utiliser iperf. Je fais généralement cela - parce que vous ne savez jamais. J'ai récemment acheté une carte réseau de 1 Gb qui n'a été transférée qu'à 672 Mbps, mais la liaison montante était de 1 Gb. C'est une bonne chose que j'ai vérifiée.
Vous aurez besoin de deux ordinateurs.
Sur le premier ordinateur, lancez iperf en mode serveur:
D'autre part, lancez iperf en mode client:
Si vous voulez voir la vitesse en duplex intégral, essayez plutôt ceci:
Remplace 192.168.0.10 par l'adresse IP du serveur
2. Sur les systèmes Ubuntu, la
/var/log/kern.log
journalisation des événements du noyau est limitée. Il enregistrera la vitesse de liaison et le statut d'une carte réseau lorsqu'elle changera. Je suis sûr que d'autres distributions font probablement quelque chose de similaire ou peuvent être configurées pour le faire.3. Vous n'aurez probablement jamais, jamais besoin d'aller aussi loin, mais vous pouvez écrire du code c pour obtenir la vitesse. Testé de travail et la racine n'est pas nécessaire.
https://stackoverflow.com/questions/2872058/get-link-speed-programmatically
la source
Comme Khaled l'a mentionné, vous devriez pouvoir exécuter ethtool avec uniquement l'interface comme argument. Ceci listera les vitesses prises en charge, les vitesses annoncées, la vitesse actuelle et bien d'autres choses encore:
Vous pouvez également exécuter
dmesg
grep pour votre interface, mais cela risque de ne pas fonctionner si votre système fonctionne depuis longtemps et que le tampon actuel ne contient plus ces informations (dans ce cas, vous devrez grep l'ancien / var /log/dmesg.*):la source
Utilisez la commande ci-dessous
renvoyer cette
la source
Aussi pour référence future, j'ai remarqué que le champ speed de ethtool donne la vitesse maximale prise en charge par la carte réseau et que mii-tool indique la vitesse réelle d'utilisation de la carte réseau.
MISE À JOUR: Après un certain temps, mii-tool ne retrouvait pas la bonne vitesse car il était obsolète et obsolète et qu'ethtool retrouvait la vitesse négociée.
la source
ethtool eth0
a travaillé pour moi. Exemple:la source
ethtool
.