我们应该使用CPU亲和力来提升Windows Server 2012 R2性能吗?
在几乎所有情况下,没有必要使用Windows Server 2012 R2中的CPU亲和力将一个工作负载限制在特定的处理器线程(假设每个英特尔处理器内核提供了两个线程)。有几个问题考虑。
首先,CPU亲和力会与现代大多数服务器中的非一致性内存访问(NUMA)产生冲突。NUMA的设计是每个线程几乎不可能以同样的速度访问大量的可用内存:接近某个的核心或处理器封装(槽)的内存可以比较远的内存有更快的访问速度。因此,服务器的调度程序将尝试安排处理器上的线程最接近运行相应工作负载的内存。人们对此几乎不了解,因此线程affinity更常驱动不同NUMA区的处理器线程,实际上是降低了工作负载的性能。
CPU亲和力更适用于对称多处理(SMP)系统,该系统中所有的处理器平均访问内存空间(跟NUMA架构不同)。在SMP模式中,任何线程可以平均地运行在任何处理器上,这是并行处理系统的首个重要条件。然而,操作系统可以根据线程优先级进行自动调度。人为干预对性能的影响较小,但通常不会产生更好的工作负载性能。
现在使用关联规则时,通常测试特定处理器(或特定处理器的核心)的性能。管理员可以看到当前线程使用GetProcessAffinityMask函数关联过程或使用SetProcessAffinityMask函数来指定进程的线程关联。IT管理员可以选择使用SetThreadIdealProcessor函数为线程推荐首选(理想的)处理器。该函数并不迫使应用亲和力,调度程序仍然可以选择其他处理器,但设置理想的处理器可以促使调度程序使用建议的处理器。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
PowerShell 5升级指南
PowerShell 5版本是最新脚本语言,与之前的版本相比增加了许多新功能。管理人员可以通过几个步骤升级为最新的版本。
-
Hyper-V动态迁移中?小心性能损失
Windows Server 2012 R2中的Hyper-V动态迁移默认功能具备相当的灵活性,管理员必须了解Hyper-V环境中一些潜在的可调优和可变选项。
-
Windows Server 2016故障转移集群升级成功“瘦身”
Windows故障转移集群升级成功“瘦身”!将Windows Server 2012 R2升级到Windows Server 2016的第一个步是对集群和集群化的作业进行备份。
-
Windows Server 2012 R2下如何处理磁盘故障
Windows管理员可以通过Event Viewer日志、Server Manager报告、SCOM的警告对话框或者Windows PowerShell查询等确定Windows Server 2012 R2中的磁盘故障。