我有一台 VMWare ESXI 5.0.0(我知道它有点旧)主机,上面有三个客户虚拟机。由于未知原因,客户虚拟机不会使用太多可用的 CPU 资源。
我将所有三台客户机都放在一个池中,所有主机都配置为使用相同数量的资源份额,因此它们基本上各占 33%。就虚拟机资源而言,这三台客户机的配置基本相同。
因此,问题是,即使客户机正在执行应该非常“繁忙”的活动(例如在启动时),实际消耗的主机 CPU 也非常小,例如 33mhz,这是通过 vSphere 控制台的“虚拟机”选项卡查看池的属性时看到的。当然,客户机虚拟机的性能非常糟糕。
主机有足够的 CPU 可用。我尝试过修改单个客户虚拟机资源设置;提高预留量等。不管怎样。客户虚拟机就是拒绝使用它们可用的大量 CPU,并坚持使用一小部分可用资源。
有什么建议么?
阅读以下各种评论后更新 根据以下建议,我确实从应用程序池中删除了客户机;这没有任何区别。我确实知道客户机不会消耗它们不需要的资源。我曾尝试对启动时间较长的客户机进行远程性能监控,但我无法使用性能监控远程连接到客户机(客户机是 w2k8r2 服务器)。CPU、内存、磁盘的主机图表基本持平;需求很少。客户机统计数据也是如此;虽然客户机本身似乎在缓慢运行,但客户机资源图表显示 CPU、内存、磁盘上的活动很少。
主机是 Dell PowerEdge 2900,有 2 个物理 CPU、20gb RAM。(这是使用剩余设备的测试/开发环境)Guest1 有:VM 版本 7、2vCPU、4gb RAM、140gb 存储,位于主机上的 RAID-5 阵列中。Guest2 有:VM 版本 7、2vCPU、4gb RAM、140gb 存储,位于主机上的 RAID-5 阵列中。Guest3 有:VM 版本 7、1vCPU、2gb RAM、2tb 存储,位于 RAID-5 ISCSI NAS 盒中
也许我做出了一个错误的假设,即如果客户机对 CPU 有需求(例如 Windows 任务管理器显示 CPU 为 100%),则主机将根据需要为客户机提供更多的 CPU(内存、磁盘)。 另一个更新 检查统计数据后,似乎主机确实一点也不忙,客户机也不忙。不过,我相信我对这个问题有一个好主意;VMWare Tools 安装混乱。客户机上有 VMware Tools,但主机说没有。VMWare Tools 拒绝卸载、拒绝升级、拒绝被识别。虽然我不能权威地说,但这似乎是值得调查的事情。我不知道客户机本身的来源,也不知道原始 VMWare Tools 安装的细节。在谷歌搜索了各种信息后,我确实想出了一些建议,但毫无用处。为此,我打算删除这个问题,但由于回答的人太多,我被提示不要这么做。
我现在的怀疑是:问题确实出在客人身上;客人并没有对主人提出要求,自然而然地,主人也会相应地对待客人。
我的最终更新 我 99% 确信客户虚拟机在 VMWare Tools 方面存在根本性问题。我创建了另一个虚拟机的克隆,该虚拟机具有几乎相同的操作系统配置,但 VMWare Tools 的安装正常运行。客户虚拟机运行良好,并在需要时占用其分配的资源;例如,它在启动期间占用了大约 850mhz 的 CPU,然后在客户操作系统稳定后降至空闲状态。
答案1
由于未知的原因,客户机不会使用太多可用的 CPU 资源。
我同意@ewwhite的观点。你的客户虚拟机是否真的存在问题?是CPU 受限,还需要一些数据?如果没有,那您就没问题了。只要不影响虚拟机的工作负载,虚拟机仅利用“一小部分可用资源”也没什么问题。
整合和更有效地利用硬件是好处虚拟化!
当然,客户虚拟机的性能非常糟糕。
当心XY问题。如果您的虚拟机没有使用太多 CPU,那么它们可能不受 CPU 限制。这就是我上面提到“附带数据”的原因。
如果您的客户虚拟机在运行工作负载时遇到困难,与您之前在独立硬件或其他虚拟化平台上的基准测试相比,您的任务是开始分析应用程序并查看在哪里它们受到限制。是 IO 吗?是网络吗?有人提交了一段运行速度非常慢的代码吗?你需要收集有关为什么您遇到了性能问题。这让我想到了我的一个公理:不要猜测。要知道。收集一些数据,提出假设并想出一种方法来测试它。一旦你有了一个可行的理论和一些数据,你就可以发布另一个后续问题,这样更有可能解决你的实际问题。
答案2
您是否抱怨您的虚拟机没有使用足够的 CPU?! 也许它们只是不需要那么多 CPU 来运行。