何时使用Windows Server 2012 R2的CPU亲和力?

日期: 2014-07-15 作者:Stephen J. Bigelow翻译:杨旭 来源:TechTarget中国 英文

我们应该使用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

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Stephen J. Bigelow
Stephen J. Bigelow

数据中心和虚拟化网站的高级技术编辑,拥有20年的PC和技术写作经验。

相关推荐