我有 2 台服务器,配备 2 个 E5645 (6c/12t)。
我正在运行自己的软件,该软件正在处理来自数据库的数百万个条目(数据库在每一行中保存压缩的大块数据,软件正在下载、解压缩并提取所有信息),当我在这两台服务器上安装 ESXI 5.1 时,问题就开始了。
事实证明,ESXI 将每个软件线程分配给每个可用线程(例如,如果软件使用 17 个线程,则 ESXI 将分配 17 个 CPU 线程),而没有在所有可用的 CPU 线程之间进行任何平衡(17 个线程几乎占 95%,而其他 7 个 CPU 线程为 0%)...
这仅发生在 ESXI 上(我的其他机器运行没有任何问题,并且它们正在平衡所有线程(例如 24 个 CPU 线程中的 15 个),只是没有 ESXi 的 Windows)。
有没有什么办法可以强制 ESXI 与 Windows 在所有 CPU 线程之间平衡负载???
(平衡在 Windows 2008、2012 和 Windows 7 上均可正常工作)。
每个 ESXi 主机只有 1 个已分配所有 vCPU 的 VM。
答案1
ESXi(和其他虚拟机管理程序)旨在控制客户机的 CPU 使用率,以便它们不会占用超过所需的资源。这使得过度使用成为可能。
如果应用程序请求的线程不超过 17 个,那么最好使用裸机部署。也许您可以在 Windows Server 2016 发布时使用容器。