用 VB 装了个 Windows 10 x64,宿主是 Manjaro Linux x64,发现任务管理器中 CPU Cache 处显示的 L1 缓存为无。这是正常的吗?有没有办法让它拥有 Cache 呢?
1
loading 2018-12-22 22:40:18 +08:00 via Android
那只是一个虚拟的 cpu,不是直通的,不用在意。
|
2
likuku 2018-12-23 01:08:37 +08:00 3
追求性能,那么还是用 VM 吧,Llinux 宿主,跑 windows,非常接近原生机的效能和响应。
VM Player on Linux,免费的,但一次只能运行一个 guest OS。 |
5
azh7138m 2018-12-23 01:33:00 +08:00
@likuku VMWARE player,deepin i5 6500T + 16G 跑个虚拟机用 Windows 很卡,硬盘是不行 500
|
6
ryd994 2018-12-23 01:40:18 +08:00 via Android
KVM 可以 passthrough CPU 特性和自定义 numa
hyper v 默认模拟 numa |
7
neoblackcap 2018-12-23 01:46:35 +08:00
其实追求性能的话,kvm+qemu 也是很强的,就是前端控制没有那么方便
|
8
likuku 2018-12-23 01:50:35 +08:00
@azh7138m 500G 机械盘?我当时也是同时装有 VM player 和 VBox,也是机械盘,但两者差别真的好大。
可惜,自己喜欢滚宿主系统,VM player 更新慢,就时不时因为更新跟不上 OS,而起不来, 虚拟机天天工作用,没空折腾,还是换成 VBox。 |
9
azh7138m 2018-12-23 02:20:15 +08:00 via Android
|
12
Osk 2018-12-23 08:25:10 +08:00 via Android
Linux Host 的话可以试试 kvm/qemu/libvirt 这一套方案,GUI 比 Vbox 麻烦一点,cpu 性能据说还行,3D 性能捉急,如果 CPU 是 5 代以后的 core i,可以试试 intel 的 gv-t gpu 虚拟化,github 上有 intel 官方教程。
|
14
hjc4869 2018-12-23 10:13:05 +08:00 via iPhone
任务管理器说的不算,跑跑 tinymembench 看延迟就知道缓存是不是真的有。
跑出来可以跟 host 对比一下。 |
15
msdx123 2018-12-23 10:45:52 +08:00
Hyper-V 是能用缓存的,就是内存带宽挺吃瘪。大概只有宿主机的 1/5 到 1/3。不知道 VM 会不会好点
|
19
msdx123 2018-12-23 10:54:56 +08:00
@msdx123 #15 刚才又在 Windows 下编译了 tinymembench。跑了一下跟虚机里数值差不多。但用 AIDA64 测内存带宽的话就会高很多,开始迷茫(
|
25
Flygoat 2018-12-23 12:11:30 +08:00 1
Cache 一直是存在的。只是虚拟机的 CPUID 没有告诉 OS Cache 有多大而已。X86 是个缓存透明架构,你的 VBox 在宿主上模拟 Guest 中的指令的时候一定经过了 Cache。
|
26
Flygoat 2018-12-23 13:08:20 +08:00 1
如果没有经过 Cache 的话。。CPU 内的 Pipeline 会不停的空泡空泡空泡。。完全依靠 RAM 取指的话想要流畅运行 Windows10 基本是不可能的。
|
27
flynaj 2018-12-23 22:34:58 +08:00 via Android
这个是虚拟机,虚拟一个 cache 给你性能更差,另外 VM 不一定比 VirtualBox 性能好,还要看 host 系统更 guest 系统
|