Моя материнская плата MSI с двумя сетевыми картами недавно начала перескакивать между 100 и 1000 Мбит , что приводило к потере соединения до нескольких секунд, что критично во время работы дома с видео-конференция. Проблема присутствует, когда система работает под управлением Fedora Linux, но исчезает при загрузке Windows 10.Использование нескольких кабелей, переключателей и даже других сетевых адаптеров безрезультатно.
Этот кажется зависимым от нагрузки.
Вывод журнала при попытке адаптера r8169. Те же результаты, но немного другие формулировки при использовании встроенных сетевых адаптеров.
[ 192.520815] r8169 0000:05:00.0 enp5s0: Link is Up - 100Mbps/Full - flow control off
[ 229.044928] r8169 0000:05:00.0 enp5s0: Link is Down
[ 232.641128] r8169 0000:05:00.0 enp5s0: Link is Up - 1Gbps/Full - flow control off
[ 309.081390] r8169 0000:05:00.0 enp5s0: Link is Down
[ 312.684481] r8169 0000:05:00.0 enp5s0: Link is Up - 100Mbps/Full - flow control off
[ 449.145256] r8169 0000:05:00.0 enp5s0: Link is Down
[ 452.927153] r8169 0000:05:00.0 enp5s0: Link is Up - 1Gbps/Full - flow control off
[ 539.187973] r8169 0000:05:00.0 enp5s0: Link is Down
Цель: наличие системы Linux который не переключается самопроизвольно между 100 Мбит и 1000 Мбит, поэтому такие приложения, как Teams и Slack, не вызывают проблем с потерянными соединениями.
После многочисленных извинений перед моими коллегами, я проверил кучу оборудования (включая набор недавно купленных, но несколько дешевых сетевых карт Realtek), просмотрел мегабайты лог-файлов и прочитал информацию о ядре. параметры, я нашел виновника.
Решив, что это, вероятно, связано с программным обеспечением, я загрузил свою систему в однопользовательском режиме и запустил версию командной строки speedtest от Ookla. Это отражало полосу пропускания, заявленную моим провайдером - около 500/500 Мбит. Ни разу не упал до 100 Мбит.
Снова загрузился в многопользовательском режиме, и проблема вернулась. Если его оставить в покое на пару минут, сетевая карта снова упадет до 100 Мбит. При повторном запуске спидтеста сетевая карта переустанавливала канал на 1000 Мбит примерно через 2-5 секунд после начала теста. Примерно через минуту после завершения теста сетевая карта вернулась к 100 Мбит.
Вооружившись systemctl stop, я начал проверять запущенные в системе демоны один за другим. Наконец я нашел гремлина, скрывающегося в моей системе: tuned
Когда я остановил tuned, проблема была решена. При ближайшем рассмотрении оказалось, что в какой-то момент я включил параметр максимального энергосбережения в файле tuning:
$ tuned-adm --debug active
Current active profile: powersave
Я думаю, что настройка этого параметра на что-то менее агрессивное также помогло бы, но сейчас я полностью отключил его:
$ tuned-adm off
Еще информация из https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/performance_tuning_guide/chap-red_hat_enterprise_linux-performance_tuning_guide-tuned:
В качестве практического примера рассмотрим типичная офисная рабочая станция. Большинство время сетевой интерфейс Ethernet очень неактивен. Только несколько электронные письма приходят и уходят время от времени, или некоторые веб-страницы могут быть загружен. Для таких нагрузок сетевой интерфейс не имеет работать на полной скорости все время, как это делается по умолчанию. Настроенный имеет плагин мониторинга и настройки для сетевых устройств, который может обнаруживать это низкой активности, а затем автоматически снизить скорость этого интерфейса, обычно приводит к более низкому энергопотреблению.Если активность на интерфейс увеличивается в течение более длительного периода времени, например, потому что Образ DVD загружается или электронное письмо с большим вложением открыт, настроенный обнаруживает это и устанавливает максимальную скорость интерфейса на предлагают наилучшую производительность, в то время как уровень активности настолько высок. Этот принцип используется и для других плагинов для процессора и жестких дисков.
Обучение: