我希望这是一个关于 VM-s 的常识问题。
我已经使用 VirtualBox 设置虚拟机以使用主机中四个核心中的一个,并且我注意到即使虚拟机没有执行任何操作,主机 CPU 使用率也始终高于 25%。 RAM 也发生了同样的事情,但我仍然想确保:
一旦你分配了某些资源(比如本例中的单核 CPU),那么该资源是否会一直处于负载状态?虽然两台机器(主机/虚拟机)都没有执行任何重要操作,但主机是否在消耗电力?或者这是 VirtualBox 独有的?
编辑。主机和客户机都运行 Windows 10 Pro x64,客户机报告 CPU 利用率为 3-4%。客户机中的电源计划设置为平衡,但从未降频。客户机配置为一个核心、2GB RAM 并位于 HDD 上。VirtualBox 为客户机启用了磁盘加密。主机中的 VirtualBoxVM.exe CPU 固定为 25%
答案1
虚拟机产品不分配物理 CPU。模拟的 CPU 只是一个执行虚拟机机器代码的普通进程。主机根据操作系统的调度算法为该进程分配 CPU 时间,但绝不会为其分配整个核心供其独用。
操作系统从来不会处于“无所事事”的状态。它实际上总是处于活动状态,有数百个后台服务执行各种工作,例如维护硬件、推进时钟等等。
任何 CPU 工作都会消耗电力,因此主机和虚拟机都会一直消耗一些电量,即使在空闲时也是如此。要停止使用电量,您需要让主机进入睡眠状态。
话虽如此,占用整个核心还是有点极端。您应该检查虚拟机内部究竟在运行什么,以及主机或虚拟机被感染的可能性。