【发布时间】:2016-12-17 10:18:59
【问题描述】:
我有一个运行虚拟路由器的 Arch Linux 主机。
当使用 LXC 访客作为路由器时,一切都很好。我得到 100MBits Up/Down 并且几乎没有 CPU 使用率。
但是,当我使用 libvirt gest (pfSense FreeBSD) 作为路由器时,每当有大量网络流量通过来宾时,CPU 使用率就会高得不合理(高达 100%),但最糟糕的是网络吞吐量减半了!我得到最大 45-49Mbits。
主机不支持 PCI 直通,所以这是我对 libvirtd 虚拟机的配置:
Nic1 (wan)
Network source: Direct ‘eth0’
Source mode: passthrough
Device model: virtio
Nic2 (lan)
Bridge name: br0
Device model: virtio
我尝试了 e1000,但它完全没有改变。
Host CPU: AMD A4-5000 Kabini
Guest CPU: default or Opteron_G3
自从我开始使用 KVM 一年多以来一直如此。如果我不解决这个问题,我将不得不转储 libvirt,因为这样的性能是不可接受的。
【问题讨论】:
-
pfSense 可能会使用轮询来获得更好的性能,但在虚拟化环境中可能无法按预期工作。彻底阅读
ifconfig <interface>可能会有所帮助。 -
硬件轮询已禁用。 ifconfig 显示:storage5.static.itmages.com/i/16/1217/…
-
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地方。另见Where do I post questions about Dev Ops?
-
我明白了。谢谢指点。
-
它看起来更像是一个 libvirt 问题而不是 pfSense 问题,因为我有另一个运行 hostapd AP 的带有 Arch linux 的 VM,它也出现了同样的问题。
标签: linux networking virtualization kvm libvirt