我通过 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 本身连接?我已经向我们的 IT 团队提交了检查网络的请求,但我想检查一下我这边。
答案1
可能是因为您没有 Dmesg 中说的流量控制,所以当其他事情需要网络时,您的网卡会丢弃数据包。如果网络过载,如果没有流量控制,它将开始丢弃数据包。也可能是某些东西导致您的网卡过载,您可以尝试找出原因,方法是保持 netstat 打开并监控是否有东西在不断打开连接。
这也可能表明您的网卡即将损坏或出现故障,唯一的解决方法是换一个新的,并且通常在您用尽所有步骤来纠正或确定问题原因之前无法确定。
答案2
您的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
答案3
这会是一个非常奇怪的答案,但看起来这只是一些偶然的错误。
我没有对 FlowControl 做任何处理,现在一切正常。至少一周过去了,没有出现任何问题。