有了支持超线程的新 Xeon CPU,目前在 Hyper-V 主机上使用(或不使用)它的智慧是什么?
我最初的印象是,在虚拟主机环境中打开它可能是有害的,因为“额外”的 CPU 不是真正的内核。但是,我还阅读了(未经证实的)评论,MS 做了一些艰苦的工作以使 Hyper-V 在超线程环境中运行良好。
有没有人在这方面有任何可靠的信息或经验?干杯!
有了支持超线程的新 Xeon CPU,目前在 Hyper-V 主机上使用(或不使用)它的智慧是什么?
我最初的印象是,在虚拟主机环境中打开它可能是有害的,因为“额外”的 CPU 不是真正的内核。但是,我还阅读了(未经证实的)评论,MS 做了一些艰苦的工作以使 Hyper-V 在超线程环境中运行良好。
有没有人在这方面有任何可靠的信息或经验?干杯!
根据 Windows IT Pro 的说法,您希望保持打开状态:
了解超线程的程序能够区分物理核心和逻辑(虚拟)核心,并相应地分配资源。
超线程允许在任何给定时间存储两个进程的状态,而不是一次只存储一个状态,从而降低了上下文切换的成本。上下文切换通常被认为非常昂贵,因为您必须将进程的整个状态加载到 CPU 中。这意味着,如果您正在运行一个 CPU 密集型进程,超线程 CPU 可以频繁地在该进程和其他进程之间切换,而不会对性能造成太大影响。
运行虚拟服务器的优点是您可以创建一个大型资源池,这些资源可以根据需要动态分配给不同的服务器。这包括重新分配 CPU 内核和平衡所有可用内核的负载。如果管理程序不知道物理内核和逻辑内核之间的区别,那么您是对的——一些物理内核可能处于空闲状态,而另一些物理内核的 CPU 利用率为 100%,而它们的两个逻辑内核都在竞争 CPU时间。但是,如果管理程序能够区分物理内核和逻辑内核,它将尝试在物理 CPU 之间平衡 CPU 负载,然后将多个进程分配给属于同一物理内核的两个逻辑内核。
Virtual Server 2005 中超线程的老问题,没有过多的技术,是 CPU 缓存被污染了,即它几乎没有缓存任何东西,因为每个线程上发生的事情的上下文是不相关的 - 导致它们竞争片上缓存。
较新的芯片具有更大和更智能的缓存,因此这不是问题。
开着还是关着是理想的吗?这真的取决于工作量。如果两个线程碰巧都在运行同一个虚拟机和同一个任务,那么几乎可以肯定它是一个很大的优势。如果他们使用大量随机 RAM I/O(例如几个不同的 VM)做不相关的事情,这将导致每个芯片的缓存只有一半可用——理论上这可能会更慢——实际上它已经很少了。
如果您有老一代芯片,但您可能需要检查芯片缓存大小:在虚拟化中,缓存越大越好。RAM 确实比 CPU 慢得多——只是没有磁盘驱动器那么差。
注意:您正在阅读的内容是关于单核超线程芯片的“关闭” - 例如,这是当天的官方答案(2005/2006?) - http://www.VirtualServerFAQ .com/tiki-index.php?page=VirtualServerHostDualCore
Steve Radich http://www.VirtualServerFAQ.com
我没有详细研究过这个问题,但由于“容量规划和监控”问题,Microsoft 不建议在 Exchange 2010 中使用超线程。在选择一种或另一种配置之前,您可能希望测试自己的工作负载。
超线程:哇,免费的处理器!
把它关掉。虽然同步多线程 (SMT)(也称为超线程)的现代实施绝对可以提高大多数应用程序的 CPU 吞吐量,但 Exchange 2013 的好处并没有超过负面影响。事实证明,由于 .NET 服务器垃圾收集器分配堆的方式,当启用超线程时,Exchange 服务器上的内存利用率可能会产生重大影响。服务器垃圾收集器在应用程序启动时查看逻辑处理器的总数,并为每个逻辑处理器分配一个堆。这意味着我们使用服务器垃圾收集器的一项服务在启动时的内存使用量将接近双倍,超线程打开与关闭时相比。内存的显着增加,通过对内部实验室测试中 Exchange 2013 工作负载的实际 CPU 吞吐量增加的分析,我们得出了一个最佳实践建议,即应为所有 Exchange 2013 服务器禁用超线程。好处不会超过负面影响。
复制自:http: //blogs.technet.com/b/exchange/archive/2013/05/06/ask-the-perf-guy-sizing-exchange-2013-deployments.aspx