我有一台几年前新推出的 Ubuntu 18.04 桌面,但它仍然是一台功能非常强大的机器,有 8 个核心(i7-4790 + 16GB + 1TB SSD)。
我最近换到了 18.04,出于某种原因,我的有线互联网连接(以太网 (1Gbit/s NIC))在下载时只能达到 18-20Mbps 左右。它能够以 100Mbps 的速度饱和上传速度。我有一个 1G 连接到我的路由器(通过两个交换机连接到我的路由器,两个都是 1Gbps 交换机)。我的 ISP 连接是对称的 100MBps/100Mbps。为了检查我的交换机是否是问题所在,我将同一根电缆连接到我的 Mac,它能够以 100Mbps 的速度饱和我的 ISP 连接。
我的 lshw -c 网络输出如下所示:
*-network
description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:03:00.0
logical name: enp3s0
version: 0c
serial: f8:bc:12:93:8e:19
size: 1Gbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8168 driverversion=8.045.08-NAPI duplex=full ip=192.168.1.40 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
resources: irq:30 ioport:d000(size=256) memory:f7200000-f7200fff memory:f2100000-f2103fff
*-network DISABLED
description: Wireless interface
product: QCA9565 / AR9565 Wireless Network Adapter
vendor: Qualcomm Atheros
physical id: 0
bus info: pci@0000:04:00.0
logical name: wlp4s0
version: 01
serial: 90:48:9a:2e:ce:f7
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list rom ethernet physical wireless
configuration: broadcast=yes driver=ath9k driverversion=4.15.0-44-generic firmware=N/A latency=0 link=no multicast=yes wireless=IEEE 802.11
resources: irq:16 memory:f7100000-f717ffff memory:f7180000-f718ffff
*-network:0
description: Ethernet interface
physical id: 1
logical name: br-763ed3b1d7a9
serial: 02:42:df:43:a4:1c
capabilities: ethernet physical
configuration: broadcast=yes driver=bridge driverversion=2.3 firmware=N/A ip=172.20.0.1 link=no multicast=yes
*-network:1
description: Ethernet interface
physical id: 2
logical name: br-5ae17914b506
serial: 02:42:54:9d:cb:e5
capabilities: ethernet physical
configuration: broadcast=yes driver=bridge driverversion=2.3 firmware=N/A ip=172.21.0.1 link=no multicast=yes
*-network:2
description: Ethernet interface
physical id: 3
logical name: docker0
serial: 02:42:c4:10:1c:63
capabilities: ethernet physical
configuration: broadcast=yes driver=bridge driverversion=2.3 firmware=N/A ip=172.17.0.1 link=no multicast=yes
*-network:3
description: Ethernet interface
physical id: 4
logical name: br-2d05881c601d
serial: 02:42:c5:00:33:c6
capabilities: ethernet physical
configuration: broadcast=yes driver=bridge driverversion=2.3 firmware=N/A ip=172.19.0.1 link=no multicast=yes
*-network:4
description: Ethernet interface
physical id: 5
logical name: br-6e918bada3df
serial: 02:42:2c:4b:ab:96
capabilities: ethernet physical
configuration: broadcast=yes driver=bridge driverversion=2.3 firmware=N/A ip=172.18.0.1 link=no multicast=yes
值得一提的是,我也在这台机器上运行着 docker,尽管我不明白为什么以及这有什么关系。
有人知道发生了什么吗?我确实添加r8168-dkms
并重新启动了,但这似乎对问题没有任何作用。
答案1
我目前正在努力解决同一个 NIC,但是版本是 06。
我的症状:
- “ethtool -S enp3s0”显示大量 rx_errors。
- 下载限制为 5Mbits 变量。
- 其他工具(例如 ifconfig)不会报告任何 rx 错误。
- 我被困在 100Mbits 中(虽然我拥有的一切都是 GBits)——因此看起来你比我幸运。
- 如果我禁用全双工 (ethtool -s enp3s0 duplex half),这可以修复 rx_errors,但不能解决我的速度问题。至少我得到了 100Mbits。
因此,首先使用 ethtool -S enp3s0 检查是否看到错误。
我尝试安装 r8168-dkms 包/模块(然后重启)。但结果是一样的。
另请检查:
root@pivert-desktop:~# modinfo r8168
filename: /lib/modules/4.15.0-45-generic/updates/dkms/r8168.ko
version: 8.045.08-NAPI
就我而言,由于它从 /updates/dkms/ 获取,所以它使用 dkms 驱动程序。
root@pivert-desktop:~# lshw -C network *-network
description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:03:00.0
logical name: enp3s0
version: 06
serial: bc:5f:f4:45:b7:34
size: 100Mbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=off broadcast=yes driver=r8168 driverversion=8.045.08-NAPI duplex=full ip=192.168.232.34 latency=0 link=yes multicast=yes port=twisted pair speed=100Mbit/s
resources: irq:35 ioport:d000(size=256) memory:d4004000-d4004fff memory:d4000000-d4003fff
答案2
我的以太网也遇到了同样的问题。我检查了 Windows 平台上的下载速度,显示大约为 1 Gbps。然后我在 Ubuntu 上检查,显示为 6 Mbps,上传速度约为 500 Mbps。尝试了这么多解决方案却没有得到解决,真是令人沮丧。然后我将 Linux 内核从 5.0.0.32 更新到 5.4.0.70。现在它运行良好,下载速度与 Windows 相同。