少し前にコンサルタントが、VMWareでSQL Serverを実行している場合はプロセッサアフィニティを設定する必要があると述べました。アドバイスは、CPU0を無効にして、OSに解放されるようにすることでした。
VMWareのサイトにある「VMware vSphereでのMicrosoft SQL Serverの設計」-PDFを読むと、次のことがわかります。
物理サーバーでvCPUを効率的にスケジュールするハイパーバイザーの機能が制限されるため、本番環境ではCPUアフィニティを使用しないことをお勧めします。
私にとっては、プロセッサアフィニティを設定するのはやり過ぎで、Windowsのコアは無料になります。これについてのあなたのアドバイスは何ですか?
Microsoftのドキュメントには、必要でない限りプロセッサアフィニティを変更しないと記載されています。
SQL Serverプロセッサアフィニティの設定は特殊な操作であるため、必要な場合にのみ使用することをお勧めします。
また、この機能は将来のバージョンで削除される予定です。
これは、変更すべきではないというVMwareのドキュメントと組み合わせると、かなり説得力があるはずです。さらに、デフォルトでSQL Serverコミュニティを変更するという推奨事項がオンラインにないようです。
最後に、ウィンドウカーネルプロセスは、システム上の他のプロセスよりも高い優先度で実行されます(適切にリアルタイム優先度に設定されている場合を除く)。したがって、Windowsのすべての重要なプロセスは、SQL Serverが必要とするCPUの量に関係なく、必要なCPUを取得します。いつでも。参照 スレッドの優先度