6.2. 禁用 vhost-net


vhost-net 模块是用于 virtio 网络的内核级后端,通过将 virtio 数据包处理任务移出用户空间(QEMU 进程)和到内核( vhost-net 驱动程序))。vhost-net 驱动程序只可用于 virtio 网络接口。如果载入 vhost-net 内核模块,则默认为所有 virtio 接口启用它,但如果特定的工作负载在使用中时,可以在接口配置中禁用它。
特别是,当从主机将 UDP 流量发送到该主机上的虚拟客户机虚拟机时,如果客户机虚拟机处理传入的数据的速度比主机发送的速度慢,则可能会出现性能降级。在这种情况下,启用 vhost-net 会导致 UDP 套接字接收缓冲区更快地出现溢出,这会导致数据包丢失。因此最好禁用 vhost-net,以减慢流量的速度,并提高整体性能。
要禁用 vhost-net,编辑客户机虚拟机 XML 配置文件中的 <interface> 子元素,并按如下所示定义网络:
<interface type="network">
   ...
   <model type="virtio"/>
   <driver name="qemu"/>
   ...
</interface>
将驱动程序名称设置为 qemu 会强制数据包处理到 QEMU 用户空间,从而有效地为该接口禁用 vhost-net。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.