xeaglex
V2EX  ›  程序员

VirtualBox 虚拟出来的系统没办法拥有 CPU Cache 吗?

By xeaglex at 2018 年 12 月 22 日 · 7392 次点击

用 VB 装了个 Windows 10 x64,宿主是 Manjaro Linux x64,发现任务管理器中 CPU Cache 处显示的 L1 缓存为无。这是正常的吗?有没有办法让它拥有 Cache 呢?

no l1 cache

28 条回复  •  2018-12-23 23:27:22 +08:00
loading
   1
loading  
   2018 年 12 月 22 日 via Android
那只是一个虚拟的 cpu,不是直通的,不用在意。
likuku
   2
likuku  
   2018 年 12 月 23 日   ❤️ 3
追求性能,那么还是用 VM 吧,Llinux 宿主,跑 windows,非常接近原生机的效能和响应。

VM Player on Linux,免费的,但一次只能运行一个 guest OS。
lonccc
   3
lonccc  
   2018 年 12 月 23 日 via Android
@likuku 跟 vbox 比强很多吗,想试试
likuku
   4
likuku  
   2018 年 12 月 23 日
@lonccc 差异非常大,宿主系统不要没事滚版本就还 OK
azh7138m
   5
azh7138m  
   2018 年 12 月 23 日
@likuku VMWARE player,deepin i5 6500T + 16G 跑个虚拟机用 Windows 很卡,硬盘是不行 500
ryd994
   6
ryd994  
   2018 年 12 月 23 日 via Android
KVM 可以 passthrough CPU 特性和自定义 numa
hyper v 默认模拟 numa
neoblackcap
   7
neoblackcap  
   2018 年 12 月 23 日
其实追求性能的话,kvm+qemu 也是很强的,就是前端控制没有那么方便
likuku
   8
likuku  
   2018 年 12 月 23 日
@azh7138m 500G 机械盘?我当时也是同时装有 VM player 和 VBox,也是机械盘,但两者差别真的好大。

可惜,自己喜欢滚宿主系统,VM player 更新慢,就时不时因为更新跟不上 OS,而起不来,
虚拟机天天工作用,没空折腾,还是换成 VBox。
azh7138m
   9
azh7138m  
   2018 年 12 月 23 日 via Android
@likuku bx500 镁光的垃圾 ssd
干活的机器还是得 ssd
虽然我的 steam 库好像是放在了 pm961 上(
xeaglex
   10
xeaglex  
OP
   2018 年 12 月 23 日
@likuku 宿主是 Manjaro,不能随时滚那就真的难受了。不过也可以装上试试看,谢谢了
xeaglex
   11
xeaglex  
OP
   2018 年 12 月 23 日
@loading CPU 启用了虚拟化,应该是指令集支持的虚拟环境。如果能用上 cache 会不会快些?
Osk
   12
Osk  
   2018 年 12 月 23 日 via Android
Linux Host 的话可以试试 kvm/qemu/libvirt 这一套方案,GUI 比 Vbox 麻烦一点,cpu 性能据说还行,3D 性能捉急,如果 CPU 是 5 代以后的 core i,可以试试 intel 的 gv-t gpu 虚拟化,github 上有 intel 官方教程。
kokutou
   13
kokutou  
   2018 年 12 月 23 日 via Android
@azh7138m

游戏放 pm961 上,
干活的数据放 bx500 上。。

太真实了
hjc4869
   14
hjc4869  
   2018 年 12 月 23 日 via iPhone
任务管理器说的不算,跑跑 tinymembench 看延迟就知道缓存是不是真的有。

跑出来可以跟 host 对比一下。
msdx123
   15
msdx123  
   2018 年 12 月 23 日
Hyper-V 是能用缓存的,就是内存带宽挺吃瘪。大概只有宿主机的 1/5 到 1/3。不知道 VM 会不会好点
xeaglex
   16
xeaglex  
OP
   2018 年 12 月 23 日
@hjc4869 有道理!
xeaglex
   17
xeaglex  
OP
   2018 年 12 月 23 日
@msdx123 这个 Hyper-V 我印象里是 Windows 上的产品吧
msdx123
   18
msdx123  
   2018 年 12 月 23 日
@xeaglex #17 233 不好意思没仔细看帖子,看回复里有人提 Hyper-V 就直接回了。
msdx123
   19
msdx123  
   2018 年 12 月 23 日
@msdx123 #15 刚才又在 Windows 下编译了 tinymembench。跑了一下跟虚机里数值差不多。但用 AIDA64 测内存带宽的话就会高很多,开始迷茫(
xeaglex
   20
xeaglex  
OP
   2018 年 12 月 23 日
@msdx123 也许跟命中率有关系? AIDA 代码的内存命中率也许更高?
xeaglex
   21
xeaglex  
OP
   2018 年 12 月 23 日
@xeaglex 内存命中率->缓存命中率
azh7138m
   22
azh7138m  
   2018 年 12 月 23 日 via Android
@kokutou 你这么想,老婆们放 pm961 上,是不是觉得合理多了
loading
   23
loading  
   2018 年 12 月 23 日 via Android
@azh7138m 肯定的,体验非常棒,快进响应非常快。
hjc4869
   24
hjc4869  
   2018 年 12 月 23 日 via iPhone
@msdx123 虚拟机有没有开动态内存?
Flygoat
   25
Flygoat  
   2018 年 12 月 23 日   ❤️ 1
Cache 一直是存在的。只是虚拟机的 CPUID 没有告诉 OS Cache 有多大而已。X86 是个缓存透明架构,你的 VBox 在宿主上模拟 Guest 中的指令的时候一定经过了 Cache。
Flygoat
   26
Flygoat  
   2018 年 12 月 23 日   ❤️ 1
如果没有经过 Cache 的话。。CPU 内的 Pipeline 会不停的空泡空泡空泡。。完全依靠 RAM 取指的话想要流畅运行 Windows10 基本是不可能的。
flynaj
   27
flynaj  
   2018 年 12 月 23 日 via Android
这个是虚拟机,虚拟一个 cache 给你性能更差,另外 VM 不一定比 VirtualBox 性能好,还要看 host 系统更 guest 系统
xeaglex
   28
xeaglex  
OP
   2018 年 12 月 23 日
@Flygoat 说得很有道理
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 92ms · 3.9.8.5