加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 获取virtio-net网络适配器的链接速度

发布时间:2020-12-14 02:59:14 所属栏目:Linux 来源:网络整理
导读:我有一个在vvm上使用virtio-net运行的 linux vm,我想查看链接速度.我怎样才能做到这一点? 到目前为止我尝试了什么: # ethtool eth0Settings for eth0:Link detected: yes 似乎ethtool不支持virtio-net(但是?)我有debian jessie的版本3.16-1,ethtool是否支
我有一个在vvm上使用virtio-net运行的 linux vm,我想查看链接速度.我怎样才能做到这一点?

到目前为止我尝试了什么:

# ethtool eth0
Settings for eth0:
Link detected: yes

似乎ethtool不支持virtio-net(但是?)我有debian jessie的版本3.16-1,ethtool是否支持更新版本?接缝版本6是最新版本.

# cat /sys/class/net/eth0/speed
cat: /sys/class/net/eth0/speed: Invalid argument


 # lspci | grep -iE --color 'network|ethernet'
00:12.0 Ethernet controller: Red Hat,Inc Virtio network device

  # lshw -class network
  *-network
       description: Ethernet interface
       product: Virtio network device
       vendor: Red Hat,Inc
       physical id: 12
       bus info: pci@0000:00:12.0
       logical name: eth0
       version: 00
       serial: 4e:ff:a8:bf:61:12
       width: 32 bits
       clock: 33MHz
       capabilities: msix bus_master cap_list rom ethernet physical
       configuration: broadcast=yes driver=virtio_net driverversion=1.0.0 ip=172.30.2.152 latency=0 link=yes multicast=yes
       resources: irq:10 ioport:c080(size=32) memory:febf2000-febf2fff memory:febe0000-febeffff

我找到了一个描述redhat kb中问题的链接,但不幸的是我没有订阅阅读它.

解决方法

Virtio是一个半虚拟化驱动程序,这意味着操作系统和驱动程序都知道它不是物理设备.驱动程序实际上是guest虚拟机和虚拟机管理程序之间的API,因此它的速度完全与任何物理设备或以太网标准断开连接.这是一件好事,因为这比虚拟机管理程序假装成一个物理设备并应用任意“链接速度”概念更快. VM只是将帧转储到总线上,它是处理物理设备的主机工作;不需要vm知道或关心主机物理设备的链接速度.

这样做的一个优点是
当数据包在同一主机上的2个VM之间移动时,它们可以像主机的cpu一样快地将数据包从一组内存移动到另一个内存,这里设置一个链接速度只是放入一个不需要的速度限制.

这还允许主机进行适配器组合并跨多个链路传播流量,而不需要显式配置每个VM以获得设置的全部带宽.

如果您想知道实际将数据从VM传输到更远的位置有多快,您需要使用iperf等工具进行实际吞吐量测试

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读