我有一台 ESXi 5 服务器,运行在启用了超线程的 2 处理器 12 核系统上。因此:12 个物理核心,24 个逻辑核心。此服务器上有 4 个 Windows 7 VM,每个配置 2 个处理器,每个都运行 VMware Tools。
查看 vSphere 中的统计数据,我的“核心利用率”始终处于最大限度。是的,这些机器正在努力工作,但只分配了 8 个核心。这怎么可能呢?我是否应该考虑减少每台机器的处理器数量,如本文所述:VMware ESX 服务器?
我检查了机器(DELL R410)的 BIOS 中是否启用了硬件虚拟化。我也开始阅读配置方面的资料,但作为新手,还有很多资料需要学习。如果我真的要增加负载,似乎我只需要考虑高级设置和池,而且我认为我不应该在虚拟机数量如此少的情况下增加负载。
我怀疑我有一些基本的、不正确的配置设置,但也可能是我对虚拟化有一些重大误解。有什么指示吗?
编辑: 从我目前收到的回复来看,这似乎是一个测量问题,而不是配置问题,因此这个问题并不那么严重。也许真正的问题是:服务器的核心利用率如何达到高于所有单个核心的核心利用率的百分比,并且考虑到这种可能性使得该指标对于整体服务器负载毫无用处,那么在超线程系统上测量 CPU 负载的最佳全局指标是什么?
答案1
在负载较轻的主机上,主机核心利用率指标通常会达到 100%。我没有任何文档可以证实这一点,但我的直觉是,这个指标取决于任何主机上的核心在任何给定时刻都被使用。
相反,在“自定义性能图表”对话框中选择所有编号对象。这些是单个核心,结果将反映它们的实际负载。
更好的是,如果您想查看整体主机负载,请完全忽略此指标。使用率值(CPU 性能图中的默认值)将准确地告诉您所需的内容。
答案2
即使您有 2 个启用了超线程的 6 核 CPU,我认为这还是取决于您如何监控系统。您是从 vSphere 客户端执行此操作还是使用esxtop
?请参阅此帖子VMWare 论坛。
另外,如果你正在看esxtop
,请CORE UTIL
参阅这个 VMWare 文档。
如果启用了超线程,CORE UTIL% 字段也会显示,该字段仅显示每个核心的利用率百分比,而不显示单个线程。因此,如果主机有 8 个核心和 16 个线程,则它仅显示 8 个核心的值,并且如果核心中只有一个线程的利用率为 100%,则该核心将显示为 100% 利用率。这样,无论线程利用率如何,您都可以查看整个核心的利用率。
您是说机器正在努力工作吗?vSphere 客户端控制台上的 CPU 使用率是什么样的?关闭超线程后负载如何变化?