V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
kimigaooo
V2EX  ›  OpenWrt

win11 hyper-v 虚拟 iKuai+OpenWrt 别的都很好,唯独宿主机下载会占满 cpu?

  •  
  •   kimigaooo · 2022-08-21 22:28:26 +08:00 · 2121 次点击
    这是一个创建于 826 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为有使用 Windows 的需求,所以 op 选择了 win 自带的 hyper-v 方案,部署了 iKuai+OpenWrt+ubuntu+Homeassistant 。配置为 N5105+16g+1tb ssd
    按理说配置绝对够用了,通过 mac 测速也能跑满 360m 的带宽,此时宿主机 cpu 占用在 60%左右,但如果使用宿主机直接下载,虽说也能跑满带宽,但此时 cpu 占用会飙升至 100%
    通过内部各设备 iperf3 测速时 cpu 也才 40%,所以应该不是虚拟交换机达到瓶颈?
    8 条回复    2022-08-22 15:44:41 +08:00
    dcty
        1
    dcty  
       2022-08-21 23:00:10 +08:00 via Android
    看用的什么下载软件,以及该软件本身占用的 CPU 有多高,比如迅雷,我 12700k 的 CPU 都觉得“有压力”
    kimigaooo
        2
    kimigaooo  
    OP
       2022-08-21 23:04:36 +08:00
    @dcty 用的 free download manager 和阿里云盘,任务管理内 fdm 占用 20%左右。但是即使不使用下载软件,光是网页测速也会吃满 cpu 。。
    crysislinux
        3
    crysislinux  
       2022-08-21 23:25:43 +08:00 via Android
    可能是宿主机要跑 GUI 吧。
    dcty
        4
    dcty  
       2022-08-21 23:29:36 +08:00
    你可以看下服务的 CPU 占用,有个 network service 。
    虚拟交换机性能肯定不是问题,跑 5G 应该都没问题,问题是你的 CPU 不给力啊。
    ryd994
        5
    ryd994  
       2022-08-22 00:43:12 +08:00 via Android
    “通过内部各设备 iperf3 测速时 cpu 也才 40%”
    你是说虚拟机-宿主机跑 iperf 吗?此时带宽是多少?

    “iKuai+OpenWrt+ubuntu+Homeassistant”
    ikuai 和 op 都是路由器系统,两个同时使用的作用是什么?

    “通过 mac 测速也能跑满 360m 的带宽,此时宿主机 cpu 占用在 60%左右”
    网络处理的 CPU 开销绝大部份在接收侧。用其他机器测速,软路由的开销是 接收-发送
    而在宿主机测速,软路由的开销是 接收-发送-接收 所以开销翻倍也不奇怪。

    iperf3 有 Windows 版,也可以限速。建议你跑个限速的 iperf ,限到 360m ,从虚拟机到宿主机。也就是把宿主机下载分成两部分来排查:
    - 从外网到软路由
    - 从软路由到宿主机
    kimigaooo
        6
    kimigaooo  
    OP
       2022-08-22 01:47:49 +08:00
    @ryd994
    “通过内部各设备 iperf3 测速时 cpu 也才 40%”
    你是说虚拟机-宿主机跑 iperf 吗?此时带宽是多少?
    “是的,用宿主机- mac 跑 iperf ,带宽在 600m ,此时占用 40%;宿主机-虚拟 ubuntu 跑 iperf ,带宽 5g ,此时占用 100%”

    “iKuai+OpenWrt+ubuntu+Homeassistant”
    ikuai 和 op 都是路由器系统,两个同时使用的作用是什么?
    “ikuai 只做主路由不折腾其他的,op 用作旁路由安装插件,这样即使 op 折腾崩了也不会影响家庭正常上网”

    iperf3 有 Windows 版,也可以限速。建议你跑个限速的 iperf ,限到 360m ,从虚拟机到宿主机。也就是把宿主机下载分成两部分来排查:
    - 从外网到软路由
    - 从软路由到宿主机
    “我测试了宿主机-虚拟机之间的限速 iperf ,宿主机作为服务端和客户端时的 cpu 占用分别为 20%和 30%
    如果按照简单的相加:
    - 从外网到软路由 占 60%
    - 从软路由到宿主机 30%
    似乎确实接近 100%了~”
    kimigaooo
        7
    kimigaooo  
    OP
       2022-08-22 02:08:49 +08:00 via iPhone
    @ryd994
    但还有一个疑问是使用虚拟机 ubuntu 测速,跑满带宽时的宿主机 cpu 占用只有 50%左右,此时软路由应该也是接收—发送—接收吧?
    ryd994
        8
    ryd994  
       2022-08-22 15:44:41 +08:00
    可以进一步看看每个虚拟机的 CPU 占用:
    1. 宿主机测速时,宿主机的 CPU 占用减去软路由的 CPU 占用就可知宿主机的实际占用。
    2. 虚拟机测速时,两个虚拟机的 CPU 占用都可以查看。

    Hyper-V vmswitch 并不区分宿主机还是虚拟机。无论虚拟机还是宿主机都是通过虚拟网卡连接,vmswitch 直接连接物理网卡。所以理论上应该没有区别。
    ubuntu 虚拟机测速结果可能和 Windows vs Linux 的网络处理有关。可以装个 Windows 的虚拟机再试试。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6024 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:14 · PVG 10:14 · LAX 18:14 · JFK 21:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.