web-dev-qa-db-ja.com

SQL Expressの多くのインスタンスはすべて同じCPUを使用していますか?

Sql Server Expressには、パフォーマンスに影響を与える次の主要なハードウェア制限があります。

  • 1 CPU

  • 1GBのメモリ

私の質問は、マルチコアマシンでSQL Server Expressの多くのインスタンスが実行されている場合、各インスタンスはどのプロセッサを使用しますか?

例:デュアルコア-4つのSQL Server Expressインスタンス(SS1、SS2、SS3、SS4)

何が起こるのですか?

SS1-Core1

SS2-Core2

SS3-Core1

SS4-Core2

または、すべてのインスタンスが同じCPU(Core1)を使用しますか?

そうでない場合、SQL Server Expressインスタンスはどのように使用するコアを選択しますか?

4
user193655

技術的には、SQL Server Expressは1つのCPUを使用せず、1つのCPUを使用します SOSスケジューラ 。つまり、DACのようないくつかの特別なスレッドを無視して、プロセスには常に1つのアクティブなスレッドしかありません(1つのワーカーが1つのスケジューラーを自分用に持っています)。このSOSスケジューラーは、CPUを実行するように強制することはなく、OSに任されているため、SQLExpressは使用するコアを「選択」しません。手動による介入は必要ありません。 、並列で実行されている4つのSQL Expressインスタンスは、それぞれ別々のコア上のOSによってスケジュールされます。 アフィニティマスク オプションを使用して、処理を強制できます。

9
Remus Rusanu