Je me suis connecté à un nouveau système client et j'ai exécuté sp_blitz pour voir ce qui tremble. Il rapporte que " CPU Schedulers Offline " qui est un nouveau pour moi.
Certains cœurs de processeur ne sont pas accessibles à SQL Server en raison de masques d'affinité ou de problèmes de licence.
Assez bien, je lance la requête de base
SELECT
DOS.is_online
, DOS.status
, DOS.*
FROM
sys.dm_os_schedulers AS DOS
ORDER BY
1;
Cela signale que j'ai réglé 8 sur VISIBLE OFFLINE, 43 sur en ligne. À ma connaissance, personne sur ce client n'aurait intentionnellement défini d'affinité CPU.
J'ai décidé de voir si je pouvais le déboguer. Lorsque je regarde la fenêtre des propriétés, je vois 40 processeurs disponibles et aucun d'entre eux n'est défini pour avoir une affinité.
Pourquoi il y en a 40 montrant encore 43 entrées dans les dm_os_schedulers où is_online est vrai semble également curieux. Les cpu_id des 8 hors ligne sont de 32 à 39.
sys.configurations semble être d'accord avec l'affinité n'étant pas explicitement sur
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
Ce n'est pas une édition Enterprise, donc la chose grand-père CAL ne devrait pas être un facteur ici, mais je peux poser cette question demain si besoin est
ProductVersion ProductLevel ProductUpdateLevel Edition
11.0.5058.0 SP2 NULL Standard Edition (64-bit)
En exécutant les requêtes de diagnostic de Glenn Berry, ce truc pourrait être pertinent
- Fabricant du système: «Dell Inc.», modèle du système: «PowerEdge R720».
- Processeur Intel (R) Xeon (R) E5-2680 v2 à 2,80 GHz
Alors, qu'est-ce qui donne? Suis-je virtualisé et je ne le sais pas? Existe-t-il un autre endroit que je devrais rechercher pour déterminer pourquoi SQL Server ne peut pas utiliser certains processeurs?
Articles de référence
Une liste d'articles que j'ai lus mais que je n'ai clairement pas compris suffisamment pour répondre à ma propre question
la source