Właśnie zainstalowałem nową kartę interfejsu sieciowego Gigabit (NIC) w systemie Linux. Skąd mam wiedzieć, czy tak naprawdę jest ustawiony na gigabitowe prędkości? Widzę, że ethtool
ma opcję ustawienia prędkości, ale nie wydaje mi się, aby wymyślić, jak zgłosić jej bieżącą prędkość.
linux
gigabit-ethernet
ethtool
Użytkownik 1
źródło
źródło
Odpowiedzi:
Wystarczy użyć polecenia typu:,
ethtool eth0
aby uzyskać potrzebne informacje. Dawny:$ sudo ethtool eth0 | grep Speed
źródło
for i in $(netstat -i | cut -f1 -d" " | tail -n+3) ; do echo "$i: $(ethtool "$i" | grep Speed | sed 's/Speed://g')" ; done
Możliwe jest wykorzystanie informacji z jądra, gdy brakuje ethtool:
Przykład interfejsu o nazwie eth0:
źródło
UWAGA: strona podręcznika użytkownika
mii-tool
ma to wyłączenie odpowiedzialności:Służy
mii-tool
do oglądania wynegocjowanej prędkości sieci.Dawny.
źródło
ethtool
nie jest instalowany domyślnie. Jest jednakmii-tool
częścią podstawowego pakietu „narzędzi sieciowych”. To było dla mnie najlepsze rozwiązanie.mii-tool
doniesienia 'wynegocjowane 100 BaseTX-FD kontrolę przepływu, odwołują ok', zarównoethtool
icat /sys/class/net/eth…/speed
zgodzić się na ' 1000 Mb / s full duplex'. Dotyczy to kontrolera USB 3.0, a mianowicie ASIX AX88179 (sterownik „ax88179_178a” dla systemu Linux).Jest tu kilka świetnych odpowiedzi, chciałem tylko dodać kilka dodatkowych opcji.
1. Wiem, że nie do końca o to prosiłeś (czytaj dalej na inne sposoby). Ale jeśli chcesz poznać rzeczywistą wydajność swojej karty sieciowej , a nie to, co mówi twój komputer, możesz użyć iperf. Zwykle to robię - bo nigdy nie wiadomo. Niedawno kupiłem kartę sieciową 1 Gb, która przesłała ją tylko przy 672 Mb / s, ale jej łącze w górę było 1 Gb. Dobrze, że sprawdziłem.
Potrzebujesz dwóch komputerów.
Na komputerze pierwszym uruchom iperf w trybie serwera:
Z drugiej strony uruchom iperf w trybie klienta:
Jeśli chcesz zobaczyć pełną prędkość drukowania dwustronnego, spróbuj tego:
Zastąp 192.168.0.10 adresem IP serwera
2. W systemach Ubuntu
/var/log/kern.log
ma ograniczone rejestrowanie zdarzeń jądra. Będzie rejestrować prędkość łącza i status karty sieciowej, gdy się zmieni. Jestem pewien, że inne dystrybucje prawdopodobnie robią coś podobnego lub można to skonfigurować.3. Prawdopodobnie nigdy, nigdy nie będziesz musiał iść tak daleko, ale możesz napisać kod c , aby uzyskać prędkość. Testowane działanie i rootowanie nie jest wymagane.
https://stackoverflow.com/questions/2872058/get-link-speed-programmatically
źródło
Jak wspomniał Khaled, powinieneś być w stanie uruchomić ethtool z samym interfejsem jako argumentem. Spowoduje to wyświetlenie obsługiwanych prędkości, reklamowanych prędkości, bieżącej prędkości i wielu innych rzeczy:
Możesz także uruchomić
dmesg
i grep dla swojego interfejsu, ale to może nie działać, jeśli twój system działał przez długi czas, a bieżący bufor nie ma już tych informacji (w takim przypadku będziesz musiał grepować starszą / var /log/dmesg.*):źródło
Użyj poniższego polecenia
skieruj to
źródło
Również dla przyszłych odniesień zauważyłem, że pole prędkości w ethtool podaje maksymalną prędkość obsługiwaną przez NIC, a mii-tool podaje rzeczywistą prędkość, na której działa NIC.
AKTUALIZACJA: Po pewnym czasie odkryte narzędzie mii nie zwróciło właściwej prędkości, ponieważ było przestarzałe i przestarzałe, a ethtool zwrócił wynegocjowaną prędkość.
źródło
ethtool eth0
pracował dla mnie. Przykład:źródło
ethtool
.