none
CPU使用率の不均衡について

    質問

  • SQL Server 2016 Standardを16コアのサーバーで稼働しています。

    バッチ処理を実行している最中に、CPU稼働状況を確認したところ、4つのCPUのみに集中し

    他の12CPUは、ほぼ使用されていない状態でした。

    この現象は、普通のことであるのか、16コアが効率よく使用されるようにするのは

    どうすれば良いのかご教授いただけますでしょうか?

    2019年4月25日 0:53

回答

  • 5 つめにチェックをつけた際にメッセージが表示されたとのことですが、こちらの環境は 1 CPU / 1 ソケットとして認識しているということはないでしょうか?

    Standard Edition を利用していて 5 つめでメッセージが表示されたのであれば「4 ソケット」の制限に当てはまったのではないかと思いまして。

    CPU コア数とソケットの関係については OS のタスクマネージャー等で確認できます。

    • 回答としてマーク tapumasa 2019年4月25日 8:48
    2019年4月25日 7:42
    モデレータ

すべての返信

  • "電源オプション" の設定が "バランス" になっているのでは?
    "高パフォーマンス" にすれば、消費電力のバランスは無視されるので、CPU 負荷率に応じてサスペンド中のコアが使われると思います。
    2019年4月25日 1:00
  • アドバイスいただき、ありがとうございます。

    いただいたアドバイスの件は、まだ試せておりませんが、他に気になった点が見つかりました。

    SSMSのサーバーのプロパティの、プロセッサで、現状、

    「すべてのプロセッサに対して自動的にプロセッサ関係マスクを設定する」にチェックが入っていましたが、

    このチェックを外し、プロセッサ単位にチェックをつけてみたところ、5つ目にチェックをつけると、

    「このエディションのSQL ServerでサポートされているCPU数またはライセンスが許可されているCPU数を超えています」

    とメッセージが表示されてしまいました。

    Standard Editionの場合、max24コアまでOKだという理解をしていますし、

    ライセンスは、16コア分購入していますので、問題無いと考えていましたが、理解が間違っておりますでしょうか?

    2019年4月25日 4:07
  • Express Editionが4コアまでとなっています。まさかとは思いますが、エディションを確認してみてはどうでしょうか? なお、SQL Server の別のエディションへのアップグレードも用意されています。
    2019年4月25日 5:39
  • 返信ありがとうございます。

    ご指摘内容を私も疑ってみたのですが、SSMSのサーバーのプロパティで確認すると、下記のように表示されます。

    Microsoft SQL Server Standard (64-bit)

    2019年4月25日 6:33
  • 5 つめにチェックをつけた際にメッセージが表示されたとのことですが、こちらの環境は 1 CPU / 1 ソケットとして認識しているということはないでしょうか?

    Standard Edition を利用していて 5 つめでメッセージが表示されたのであれば「4 ソケット」の制限に当てはまったのではないかと思いまして。

    CPU コア数とソケットの関係については OS のタスクマネージャー等で確認できます。

    • 回答としてマーク tapumasa 2019年4月25日 8:48
    2019年4月25日 7:42
    モデレータ
  • ご指摘いただき、ありがとうございます!

    ご指摘のとおりでした。サーバーを確認したところ、16ソケット16プロセッサとなっていましたので、

    1CPU/1ソケットということで、4ソケットの制限に当てはまったと思われます。

    お騒がせして申し訳ありませんでした。

    2019年4月25日 8:51