sirlion 发表于 2025-4-18 00:05

虚拟机直通出来的系统效果和直接装的差距有多大?

比如飞牛这种nas系统自带虚拟机和直通功能

假如把cpu 内存 显卡(第二张独显)声卡 网卡 usb设备全都直通到虚拟机内部

其用起来的性能和直接安装win的差距有多大?

有类似的pve esxi的测试都可以

abcxiawei 发表于 2025-4-18 16:14

以前看过一个性能测试,直通的话,GPU损失的性能大约在1%-3%之间,效率还是比较高的

魔法师lain 发表于 2025-4-18 20:39

一直这样用,一般没问题,就是不能玩二游,有点可惜

—— 来自 HUAWEI NOH-AL10, Android 12, 鹅球 v3.5.99

sirlion 发表于 2025-4-18 21:11

魔法师lain 发表于 2025-4-18 20:39
一直这样用,一般没问题,就是不能玩二游,有点可惜

—— 来自 HUAWEI NOH-AL10, Android 12, 鹅球 v3.5.9 ...

这是为啥, 显卡直通后3d性能不是全方位的么

魔法师lain 发表于 2025-4-18 21:32

sirlion 发表于 2025-4-18 21:11
这是为啥, 显卡直通后3d性能不是全方位的么

二游包括大部分网游好像都有检测是否虚拟机的逻辑,反正偶试了鳴潮和米都不行。网上突破限制的教程都是vm ws的,直通没找到

—— 来自 HUAWEI NOH-AL10, Android 12, 鹅球 v3.5.99

sirlion 发表于 2025-4-19 01:09

魔法师lain 发表于 2025-4-18 21:32
二游包括大部分网游好像都有检测是否虚拟机的逻辑,反正偶试了鳴潮和米都不行。网上突破限制的教程都是vm ...

哦对, 这个确实, 有些软件检测到虚拟机环境就不给运行了, 这个就是我担心的影响, 除了性能外还有这个因素

看来直接把虚拟机当底层, win直通这条路子还是不完美, 暂时放弃了

Betalo 发表于 2025-4-19 10:40

之前PVE跑过Windows的黑猴,帧数上区别很小。拿TrueNas Core跑m.2的硬盘IO测试,也看着差别很小。顺带一提,PVE带Windows的待机功耗居然比裸装Windows的待机好很多

魔法师lain 发表于 2025-4-19 12:10

sirlion 发表于 2025-4-19 01:09
哦对, 这个确实, 有些软件检测到虚拟机环境就不给运行了, 这个就是我担心的影响, 除了性能外还有这个因素 ...

可以试试windows hyper v的半虚拟显卡,对于主windows来说不是虚拟机环境,不行的软件放这里运行

—— 来自 HUAWEI HDL-W09, Android 8.0.0, 鹅球 v3.5.99

Lazia 发表于 2025-4-19 12:23

sirlion 发表于 2025-4-19 01:09
哦对, 这个确实, 有些软件检测到虚拟机环境就不给运行了, 这个就是我担心的影响, 除了性能外还有这个因素 ...

pve的话自定义个cpu参数里加hidden就完事了。

魔法师lain 发表于 2025-4-19 12:33

Lazia 发表于 2025-4-19 12:23
pve的话自定义个cpu参数里加hidden就完事了。

看vm ws的突破限制教程,明显不只是cpu名的问题

—— 来自 HUAWEI NOH-AL10, Android 12, 鹅球 v3.5.99

Lazia 发表于 2025-4-19 12:49

魔法师lain 发表于 2025-4-19 12:33
看vm ws的突破限制教程,明显不只是cpu名的问题

—— 来自 HUAWEI NOH-AL10, Android 12, 鹅球 v3.5.99 ...

vm ws是啥,vmware workstation?跟我pve有什么关系?改cpu名干嘛?

魔法师lain 发表于 2025-4-19 12:51

看了一下b站,貌似今年esxi去虚拟化已经有人搞好,不过感觉挺贵的,有分定制和预制。
去年8月组偶那台新itx前曾研究了一下,去他们淘宝店问都说不行的,那时只支持workstation。

—— 来自 HUAWEI NOH-AL10, Android 12, 鹅球 v3.5.99

魔法师lain 发表于 2025-4-19 12:53

本帖最后由 魔法师lain 于 2025-4-19 12:58 编辑

Lazia 发表于 2025-4-19 12:49
vm ws是啥,vmware workstation?跟我pve有什么关系?改cpu名干嘛?

没啥,只是看那些视频workstation里有十多项检测要过掉,好奇你这种方式能过掉几项。

不过貌似这些检测都没查虚拟机一个最大痛点,就是嵌套虚拟化和直通同时搞,新的虚拟机基本不支持了。老的是可以,但那稳定性想死

—— 来自 HUAWEI NOH-AL10, Android 12, 鹅球 v3.5.99

YoumuChan 发表于 2025-4-20 12:29

魔法师lain 发表于 2025-4-18 21:32
二游包括大部分网游好像都有检测是否虚拟机的逻辑,反正偶试了鳴潮和米都不行。网上突破限制的教程都是vm ...

米好像只检查特定cpuid而且只在启动时检查,可以先在裸机上遍历一遍cpuid存下来,然后手动改kvm.c,增加一个hypercall和一个vcpu的flag,guest调用这个hypercall就直接切换vcpu的flag,然后kvm.c里返回cpuid的地方就返回裸机上的cpuid,米启动完了以后再call一次这个hypercall就行了。

moondigi 发表于 2025-4-20 21:32

YoumuChan 发表于 2025-4-20 12:29
米好像只检查特定cpuid而且只在启动时检查,可以先在裸机上遍历一遍cpuid存下来,然后手动改kvm.c,增加 ...

这个cpuid是哪个部分,kvm的虚拟机cpu模式可以选passthrough host也不行么?
装n卡驱动的时候要设vendor_id

YoumuChan 发表于 2025-4-21 11:00

moondigi 发表于 2025-4-20 21:32
这个cpuid是哪个部分,kvm的虚拟机cpu模式可以选passthrough host也不行么?
装n卡驱动的时候要设vendor_ ...

需要自己手动修改linux kernel自己build的(虽然也许可以dkms简化一下更新过程)。所以如果对我前文描述的方法有疑问的话,可能说明对linux的了解程度达不到执行这个方案的要求,不太建议自行尝试。

moondigi 发表于 2025-4-21 19:23

YoumuChan 发表于 2025-4-21 11:00
需要自己手动修改linux kernel自己build的(虽然也许可以dkms简化一下更新过程)。所以如果对我前文描述的 ...

好奇passthrough host出来的这个cpuid和这样修改后出来的有什么不同,有输出的例子看看吗?

YoumuChan 发表于 2025-4-21 23:58

moondigi 发表于 2025-4-21 19:23
好奇passthrough host出来的这个cpuid和这样修改后出来的有什么不同,有输出的例子看看吗? ...

区别还挺大的,就算是passthrough,kvm的cpuid指令也是会trap到vm_exit的handler,kvm默认会屏蔽一些无法被虚拟化的指令(比如我记得tsc相关的feature bit),默认会标记cpuid(1)返回的ecx上的hypervisor flag,默认可能会屏蔽一些电源管理相关的feature bit (cpuid(0x80000008)的值),然后会在cpuid(0x40000000)到cpuid(0x4FFFFFFF)段返回一些kvm专用的信息,而裸机上这一段返回的要不然是空的,要不然是hyper-v的信息。

ltycomputer 发表于 2025-4-22 15:19

本帖最后由 ltycomputer 于 2025-4-22 15:20 编辑

去虚拟化检测,大多数都是用来在宿主机改内存开挂的或者多开的
单机一般不管这个
我记得CPU带虚拟化指令集加速能达到真机95-98%性能,PCI-E设备直通是和宿主机一样性能。
页: [1]
查看完整版本: 虚拟机直通出来的系统效果和直接装的差距有多大?