为 CPU 分配线程

默认情况下,每个 SQL Server 实例启动一个线程。然后,由操作系统将每个线程分配给特定的 CPU。操作系统将 SQL Server 实例的线程平均分配给计算机上的微处理器或 CPU。有时候,操作系统还能将线程从负载过重的 CPU 移动到另一个 CPU。

SQL Server 管理员可以使用 affinity mask 配置选项排除一个或多个 CPU,使它们无法运行特定 SQL Server 实例的线程。affinity mask 值指定位模式,以指明用来运行该 SQL Server 实例的线程的 CPU。例如,affinity mask 值 13 表示位模式 1101。在具有 4 个 CPU 的计算机上,这指明可以将该 SQL Server 实例的线程安排在 CPU 0、2 和 3 上,而不是 CPU 1 上。如果指定 affinity mask,SQL Server 实例将在未应用掩码的 CPU 中平均分配线程。affinity mask的另一个作用是操作系统不会将线程从一个 CPU 移动到另一个 CPU。但是,很少使用 affinity mask。大多数系统通过让操作系统在可用的 CPU 中安排线程来获取最佳性能。

请参阅

概念

使用 lightweight pooling 选项
SQL Server 批处理或任务计划
了解非一致性内存访问

帮助和信息

获取 SQL Server 2005 帮助