当我使用空闲的 VMware 客户机时,我发现主机 CPU 使用率非常高。
主持人:
Ubuntu 10.04 32 位 2.6.32-24-generic-pae。(非常新的安装,即 24 小时前)
硬件是戴尔 XPS M1530 笔记本电脑,4GB 内存。英特尔酷睿 II Duo T9300 2.50Ghz
我的 BIOS 中启用了虚拟化设置“VT”或其他内容。
客人:
全新安装 Windows Vista,升级到最新 SP2 并安装所有 Windows 更新。
已分配 1024 – 1512MB 内存。
除 VMWare 工具外,绝对没有安装任何其他软件。
情况
当客户机什么都不做时,我会使用 sysinternals 进程监视来监视客户机。这表明系统空闲进程处于 70% 到 99% 之间,通常在 95% 左右。
没有实际进程执行任何操作。
在主机上,我用 top 观察,发现 CPU 使用率为 20% - 80%,通常在 30% 左右。
我尝试过
- 可供客人使用的单处理器和双处理器 - 没有变化。
- 关闭所有外部设备 - 没有网络、驱动器、USB 等 - 没有变化。
- 为客人关闭 3D 加速 - 或许是一个小小的改进,或者没有变化。
- 将分配给客户的内存从 1024MB 增加到 1512MB - 没有变化。
- 对 vmware 大喊大叫——没有变化。
我以前也遇到过类似的问题,通过将客户机设置为 1 个 CPU 来解决。这次没有奏效。
答案1
期望所有主机 CPU 周期都可供客户机使用是不合理的。主机上有成千上万个地方需要进行计算,从显示自己的控制台到记录到计算网络校验和。如果有任何 iscsi 正在进行,这也会消耗 CPU。如果客户机出于某种原因访问磁盘但没有使用太多 CPU,您可能会看到主机中的负载比客户机中的负载更大。主机可能正在处理来自网络的流量并做出路由决策。
鉴于这是笔记本电脑上 ubuntu 客户操作系统中某种 vmware 主机的实例,从支持笔记本电脑硬件的驱动程序到 cronjobs、更新检查、时间同步等所有内容都可能消耗 CPU。如果有软件 raid,可能还会进行一些计算。可能存在文件系统索引。
如果这确实让您担心,那么最好的办法是(如果您没有遇到任何资源稀缺问题,那么这不是问题),检查top
主机上哪些进程正在消耗周期。
还要注意,占用 CPU 的进程可能会被优先处理。如果是这种情况,它们将以较低的优先级运行(可能比客户机的优先级还低),并且如果 CPU 需要用于其他操作,它们将让路。
答案2
当没有其他进程运行时,“系统空闲进程”占用所有 CPU,这是非常正常的 - 但这并不意味着它使用了总 CPU 的 99%。
在您的客户机中,按 CTRL + SHIFT + ESC 并搜索 CPU 使用率:没有任何其他程序运行,它应该低于 10%,这就是您想要的真实数字。
答案3
将你的系统升级到较新的版本,例如 Ubuntu 14.04 LTS!你的底层主机系统显然已经过时了!
还请注意,Vista 的内存只有 1 GB 左右,因此系统交换速度会非常快。考虑将其提高到 2 GB 或将客户机切换到 Windows 7,后者本身所需的内存要少得多。