Я только что установил новую гигабитную сетевую карту (NIC) в Linux. Как мне узнать, действительно ли он настроен на гигабитную скорость? Я вижу, ethtool
есть возможность установить скорость, но я не могу понять, как сообщить о текущей скорости.
linux
gigabit-ethernet
ethtool
User1
источник
источник
Ответы:
Просто используйте команду вроде:
ethtool eth0
чтобы получить необходимую информацию. Пример:$ sudo ethtool eth0 | grep Speed
источник
for i in $(netstat -i | cut -f1 -d" " | tail -n+3) ; do echo "$i: $(ethtool "$i" | grep Speed | sed 's/Speed://g')" ; done
Можно использовать информацию из ядра, когда отсутствует ethtool:
Пример для интерфейса с именем eth0:
источник
ПРИМЕЧАНИЕ: на странице man для
mii-tool
этого есть отказ от ответственности:Используйте
mii-tool
для просмотра согласованной скорости сети.Ex.
источник
ethtool
не устанавливается по умолчанию. Ноmii-tool
, как часть необходимого пакета «net-tools». Так что это было лучшее решение для меня.mii-tool
отчетах «согласовано управление потоком 100 baseTx-FD, связь нормальная», оба согласныethtool
иcat /sys/class/net/eth…/speed
« Полный дуплекс 1000 Мбит / с». Это для контроллера USB 3.0, а именно ASIX AX88179 (драйвер 'ax88179_178a' для Linux).Здесь есть несколько отличных ответов, я просто хотел добавить еще несколько вариантов.
1. Я знаю, что это не совсем то, о чем вы просили (читайте дальше). Но если вы хотите узнать реальную производительность вашей сетевой карты , а не то, что ваш компьютер говорит, что это должно быть, вы можете использовать iperf. Я обычно делаю это - потому что ты никогда не знаешь. Недавно я купил сетевой адаптер на 1 ГБ, который передавался только со скоростью 672 Мбит / с, но его восходящий канал был 1 ГБ. Хорошо, что я проверил.
Вам понадобятся два компьютера.
На первом компьютере запустите iperf в режиме сервера:
С другой стороны, запустите iperf в режиме клиента:
Если вы хотите увидеть скорость полного дуплекса, попробуйте это:
Замените 192.168.0.10 на IP-адрес сервера.
2. В системах Ubuntu
/var/log/kern.log
ограничено ведение журнала событий ядра. Он будет записывать скорость соединения и состояние сетевого адаптера при его изменении. Я уверен, что другие дистрибутивы, вероятно, делают что-то подобное или могут быть настроены для этого.3. Вам, вероятно, никогда не придется заходить так далеко, но вы можете написать c-код , чтобы получить скорость. Проверено работает и рут не требуется.
https://stackoverflow.com/questions/2872058/get-link-speed-programmatically
источник
Как упоминал Халед, вы должны иметь возможность запускать ethtool только с интерфейсом в качестве аргумента. Это перечислит поддерживаемые скорости, объявленные скорости, текущую скорость и кучу других вещей:
Вы также можете запустить
dmesg
и grep для вашего интерфейса, но это может не сработать, если ваша система долгое время работала и текущий буфер больше не имел этой информации (в этом случае вам придется выполнить grep старого / var /log/dmesg.* files):источник
Используйте команду ниже
отослать это
источник
Также для дальнейшего использования я заметил, что поле скорости в ethtool дает максимальную скорость, поддерживаемую NIC, а mii-tool - фактическую скорость, на которой работает NIC.
ОБНОВЛЕНИЕ: Через некоторое время обнаруженный mii-tool не возвращал правильную скорость, поскольку он устарел и устарел, а ethtool возвращал согласованную скорость.
источник
ethtool eth0
работал на меня. Пример:источник
ethtool
.