Я работаю на удаленном сервере через ssh и заметил, что Vim иногда зависает на 5-10 секунд.

Ifconfig:

enp0s25   Link encap:Ethernet  HWaddr 28:d2:44:b5:93:fe  
          inet addr:10.30.10.230  Bcast:10.30.255.255  Mask:255.255.0.0
          inet6 addr: fe80::f995:dba3:a12d:bc16/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7745442 errors:8 dropped:1 overruns:0 frame:6
          TX packets:723918 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1036026983 (1.0 GB)  TX bytes:85008484 (85.0 MB)
          Interrupt:20 Memory:f0600000-f0620000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:99543 errors:0 dropped:0 overruns:0 frame:0
          TX packets:99543 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:13269150 (13.2 MB)  TX bytes:13269150 (13.2 MB)

Dmesg показывает, что интерфейс часто взлеты и падения без причины для меня (в выводе есть еще много таких строк):

[544981.654197] e1000e: enp0s25 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[545084.381711] e1000e: enp0s25 NIC Link is Down

uname -a:

Linux farit-PC 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Это Thinkpad T440s.

Как я могу быть уверен, что он не связан с Mint или ThinkPad? Я уже сделал запрос в нашу ИТ-команду для проверки сети, но хотел бы проверить свою сторону.

3 ответа3

1

Возможно, из-за того, что у вас нет управления потоком, как сказано в вашем Dmesg, ваш ник отбрасывает пакеты, когда другие вещи требуют сети. Если сеть перегружена, она начнет отбрасывать пакеты, если нет управления потоком. Может также случиться так, что что-то перегружает ваш ник, вы можете попытаться выяснить это, оставив netstat открытым и следя за тем, чтобы не видеть, что что-то просто непрерывно открывает соединения.

Это также может быть признаком того, что ваш ник умирает или неисправен, и единственный способ исправить это получить новый, и это обычно не будет определяться, пока вы не исчерпали все шаги, чтобы исправить или определить причину проблемы.

0

Это был бы очень странный ответ, но похоже, что это была случайная ошибка.

Я ничего не сделал с FlowControl, и теперь все работает нормально. Прошла как минимум неделя и проблем не было.

0

Ваш вывод dmesg показывает наиболее вероятную причину ошибки:

Контроль потока: нет

Контроль потока (в Википедии) это:

процесс управления скоростью передачи данных между двумя узлами, чтобы предотвратить превышение быстрым отправителем медленного получателя.

Это странно, потому что в модуле e1000eне в модуле e1000, как я изначально думал, у вас есть) FlowControl включен по умолчанию. Так что я могу думать только о том, что у вас отключено autonegotiation . Попробуйте выполнить, как sudo, следующую команду:

ethtool -A enp0s25 autoneg on rx on

перезагрузите модуль,

modprobe -r e1000e
modprobe e1000e

(если первая команда не работает, попробуйте ее следующим образом:

ip link set dev enp0s25 down
modprobe -r e10000e
modprobe e1000e
ip link set dev enp0s25 up

это должно сработать сейчас), и посмотреть, столкнулись ли вы с той же проблемой. Если это решит вашу проблему, вы можете автоматически выполнить ethtool при загрузке, создав файл /etc/modprobe.d/e1000e.conf со следующей уникальной строкой:

post-install e1000e ethtool -A enp0s? autoneg on rx on

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .