在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
是内核模块被使用的次数。