配置執行緒給 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。在擁有四個 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 批次或工作排程
瞭解非統一記憶體存取