如何检查我的虚拟机是否使用 vhost-net 驱动程序进行网络连接

如何检查我的虚拟机是否使用 vhost-net 驱动程序进行网络连接

在KVM中,网卡型号可以设置为virtio(最新)或较旧e1000(不推荐,模拟)。在 virtio 中,可以选择使用vhost-net驱动程序或qemu.

vhost-net 和 qemu 的不同之处在于数据包从来宾发送到主机以及随后发送到物理网卡的方式。

vhost-net 模块是 virtio 网络的内核级后端,它通过将 virtio 数据包处理任务从用户空间(QEMU 进程)移出内核(vhost-net 驱动程序)来减少虚拟化开销。 vhost-net 仅适用于 virtio 网络接口。如果加载了vhost-net内核模块,则默认启用适用于所有 virtio 接口,但如果特定工作负载在使用 vhost-net 时性能下降,则可以在接口配置中禁用。引用

我的问题是,如何检查 vhost-net 模块是否已加载?通常的命令modinfo在这里也可以工作吗?

答案1

要查看加载了哪些内核模块,请使用该lsmod命令。

您可以使用grep管道输出来lsmod过滤更需要的内容。

例如

# lsmod | grep net
vhost_net              24576  10
vhost                  45056  1 vhost_net
tap                    24576  1 vhost_net

该主机正在使用 vhost_net 内核模块 - 我碰巧配置了 10 个适配器,输出ifconfig列出了 10 个 vnet 适配器。输出中的 10lsmod | grep是内核模块被使用的次数。

相关内容