如果即使在前面讨论过的所有方案之后也无法重新平衡CPU负载或提高处理器效率,那么可能还有一些原因是保持主机CPU仍然饱和。
它可以是资源池及其对VM的资源分配。
许多应用程序(例如批处理作业)通过花费更长时间来完成但仍然产生正确且有用的结果来响应缺乏CPU资源。其他应用程序可能会遇到故障,或者在被拒绝足够的CPU资源时可能无法满足关键业务要求。
vSphere中可用的资源控制可用于确保资源敏感的应用程序始终获得足够的CPU资源,即使存在主机CPU饱和也是如此。您需要确保在应用于资源池或单个VM时了解共享,预留和限制的工作方式。默认值可确保ESXi对所有VM都高效且公平。仅在了解后果时才更改默认设置。
如何实现
- 使用vSphere Web Client登录vCenter Server。
- 在主屏幕上,导航到“ 主机和群集”。
- 展开ESXi主机并转至CPU耗尽的VM。
- 导航到“ 监控”选项卡。
- 导航到“ 性能”选项卡。
- 导航到“ 高级”视图。
- 单击图表选项。
- 从图表指标导航到CPU。
- 导航到VM对象。
- 导航到“ 高级”选项卡,然后单击“ 图表选项”。
- 在“ 计数器”部分中仅选择“ 就绪并使用”,然后单击“ 确定”。
现在,如果在VM上配置了下限,并且同时如果它渴望资源,那么您将看到高就绪时间和低使用度量。下图中给出了它的外观示例:
查看前面的示例,了解VM何时需要更多CPU资源。如果你在它上面设置一个限制,那么它将经历高准备时间和低使用时间。这里,在前面的例子中,该VM的设置限制为500MHz。
现在要纠正这个问题,我们可以改变极限值,VM应该在低就绪时间和高使用价值下表现更好。
- 右键单击占用大量CPU的VM,然后选择“ 编辑资源设置”。
- 在CPU下,将Shares值更改为High(2,000 Shares)。
- 将保留更改为2000MHz,将Limit值更改为2000MHz。
- 单击“ 确定”。
现在VM应该看起来和执行,如下面的屏幕截图所示: