Agendadores de CPU offline

9

Entrei no sistema de novos clientes e executei o sp_blitz para ver o que está tremendo. Ele relata que " CPU Schedulers Offline ", que é novo para mim.

Alguns núcleos de CPU não estão acessíveis ao SQL Server devido a problemas de mascaramento ou licenciamento de afinidades.

É justo, eu executo a consulta base

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

Que informa que eu tenho 8 definido como VISIBLE OFFLINE, 43 para online. Que eu saiba, ninguém neste cliente teria intencionalmente definido qualquer afinidade de CPU.

Decidi ver se conseguia descomprimir. Quando olho para a janela de propriedades, vejo 40 processadores disponíveis e nenhum deles definido para ter afinidade.

insira a descrição da imagem aqui

Por que há 40 mostrando ainda 43 entradas nos dm_os_schedulers em que is_online é verdadeiro também parece curioso. O cpu_id dos 8 offline é de 32 a 39.

O sys.configurations parece concordar com a afinidade não estar explicitamente

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

Como não é uma Enterprise Edition, a coisa do avô da CAL não deve ser fator aqui, mas posso fazer essa pergunta amanhã, se necessário

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

Ao executar as consultas de diagnóstico de Glenn Berry, esse material pode ser relevante

  • Fabricante do sistema: 'Dell Inc.', Modelo do sistema: 'PowerEdge R720'.
  • CPU Intel (R) Xeon (E5) E5-2680 v2 a 2.80GHz

Então, o que dá? Sou virtualizado e não sei? Existe algum outro lugar que eu deveria procurar para determinar por que o SQL Server não pode usar algumas das CPUs?

Artigos de referência

Uma lista de artigos que li, mas claramente não compreendia o suficiente para responder à minha própria pergunta

billinkc
fonte

Respostas:

13

O que você vê faz todo o sentido, dadas as informações disponíveis.

O SQL Server 2012 Standard Edition é limitado ao menor de 4 soquetes ou 16 núcleos físicos.

Como você possui 40 núcleos (provavelmente 2 soquetes 10 núcleos + HT), 16 núcleos físicos serão 32 núcleos lógicos (por causa do HT). Se você tiver 40 no total, eu esperaria que 8 ficassem visíveis offline devido ao licenciamento.

Recursos suportados pelas edições do SQL Server 2012 - Limites de escala entre caixas

Editar: informações adicionais

Dependendo do sistema operacional envolvido, os agendamentos podem estar vinculados às CPUs que também estão fazendo uma configuração de memória NUMA desequilibrada para o seu sistema. Embora seja altamente improvável que isso cause problemas (já que não se notou que todas as CPUs estavam sendo usadas em primeiro lugar), isso poderia ter um impacto muito maior em um sistema altamente usado, onde o acesso à memória estrangeira pode realmente adicionar.

Sean Gallardy
fonte