CPU-Scheduler offline

9

Ich habe mich bei einem neuen Client-System angemeldet und sp_blitz ausgeführt, um zu sehen, was wackelt. Es wird zurückgemeldet, dass " CPU Schedulers Offline " für mich neu ist.

Einige CPU-Kerne sind für SQL Server aufgrund von Affinitätsmaskierungs- oder Lizenzierungsproblemen nicht zugänglich.

Fair genug, ich führe die Basisabfrage aus

SELECT
    DOS.is_online
,   DOS.status
,   DOS.*
FROM
    sys.dm_os_schedulers AS DOS
ORDER BY
    1;

Das berichtet zurück, dass ich 8 auf VISIBLE OFFLINE gesetzt habe, 43 auf online. Meines Wissens hätte niemand auf diesem Client absichtlich eine CPU-Affinität festgelegt.

Ich beschloss zu sehen, ob ich es auflösen könnte. Wenn ich mir das Eigenschaftenfenster anschaue, sehe ich 40 verfügbare Prozessoren, von denen keiner eine Affinität aufweist.

Geben Sie hier die Bildbeschreibung ein

Warum 40 noch 43 Einträge in den dm_os_schedulers anzeigen, in denen is_online wahr ist, scheint ebenfalls merkwürdig. Die cpu_id der 8 offline sind 32 bis 39.

sys.configurations scheint mit einer nicht explizit aktivierten Affinität übereinzustimmen

name                 value  value_in_use  description
affinity I/O mask    0      0             affinity I/O mask
affinity mask        0      0             affinity mask
affinity64 I/O mask  0      0             affinity64 I/O mask
affinity64 mask      0      0             affinity64 mask

Dies ist keine Enterprise Edition, daher sollte die Sache mit dem CAL-Großvater hier keine Rolle spielen, aber ich kann diese Frage morgen bei Bedarf stellen

ProductVersion  ProductLevel  ProductUpdateLevel  Edition
11.0.5058.0     SP2           NULL                Standard Edition (64-bit)

Wenn Sie die diagnostischen Abfragen von Glenn Berry ausführen, ist dieses Material möglicherweise relevant

  • Systemhersteller: 'Dell Inc.', Systemmodell: 'PowerEdge R720'.
  • Intel (R) Xeon (R) CPU E5-2680 v2 bei 2,80 GHz

Also, was gibt es? Bin ich virtualisiert und weiß es nicht? Gibt es einen anderen Ort, an dem ich nachsehen sollte, warum SQL Server einige der CPUs nicht verwenden kann?

Referenzartikel

Eine Liste von Artikeln, die ich gelesen, aber offensichtlich nicht gut genug verstanden habe, um meine eigene Frage zu beantworten

billinkc
quelle

Antworten:

13

Was Sie sehen, ist angesichts der verfügbaren Informationen durchaus sinnvoll.

SQL Server 2012 Standard Edition ist auf weniger als 4 Sockets oder 16 physische Kerne beschränkt.

Da Sie 40 Kerne haben (wahrscheinlich 2 Socket 10 Core + HT), werden 16 physische Kerne 32 logische Kerne sein (wegen HT). Wenn Sie insgesamt 40 haben, würde ich erwarten, dass 8 aufgrund der Lizenzierung VISIBLE OFFLINE sind.

Von den Editionen von SQL Server 2012 unterstützte Funktionen - Cross-Box-Skalierungsgrenzen

Bearbeiten: Zusätzliche Informationen

Je nach Betriebssystem sind die Zeitpläne möglicherweise an CPUs gebunden, die auch eine unsymmetrische NUMA-Speicherkonfiguration für Ihr System vornehmen. Obwohl es höchst unwahrscheinlich ist, dass dies zu Problemen führt (da nicht bemerkt wurde, dass alle CPUs überhaupt verwendet wurden), könnte dies einen viel höheren Einfluss auf ein stark genutztes System haben, auf das der Fremdspeicherzugriff tatsächlich zugreifen kann addieren.

Sean Gallardy
quelle