Em um de nossos servidores de produção, onde o SQL Server 2008R2 (Service Pack 2) está instalado com 24 GB de memória e 24 núcleos de CPU agrupados em dois nós NUMA, estamos enfrentando altas contagens de resource_semaphore waits QUANDO executamos DBCC CheckDB para um de nossos bancos de dados que tem 125 GB de tamanho.
A instância está ativa nos últimos 6 meses e funcionando bem, mas começou repentinamente enquanto nenhuma alteração de tamanho no banco de dados e nenhuma alteração de configuração foi realizada.
Enquanto
os discos rígidos estão funcionando até a marca.
MAS
O estranho que encontrei são os valores "ideal_memory_kb", ou seja, 5299767576 (5TB) para DBCC Check DB Session
select top 5 ideal_memory_kb,* from sys.dm_exec_query_memory_grants
É um problema do TempDB?
Há algo de errado no lado da memória?
Não há nada errado! É assim que o DBCC CHECKDB funciona. Você pode ler a postagem de Jonathan explicando esse comportamento e uma solução alternativa se estiver na Enterprise Edition - DBCC CHECKDB Execution Memory Grants – Não exatamente o que você espera
A única coisa estranha é que geralmente isso acontece com servidores com maior quantidade de RAM!
Aqui também está um artigo muito bom sobre como entender a concessão de memória do servidor SQL
Talvez, se você vir uma grande Fila de E/S em sua SAN, você tenha muitas consultas de limite de E/S além de sua pressão de memória. Verifique os contadores PLE e Concessões de Memória Pendentes neste servidor. Se seu PLE for muito baixo e você tiver muitas concessões de memória pendentes, seu servidor pode se beneficiar de memória adicional. Verifique também se você precisa adicionar algum índice (reveja os índices ausentes DMV) -- Você está usando DMVs de índice ausente do SQL?
Estranho, mas o problema estava no lado da taxa de transferência da SAN. média Os valores do Comprimento da Fila de Disco são muito altos e informados ao Administrador do Sistema, problema de SAN corrigido e, como resultado, o problema de altos valores de espera RESOURCE_SEMAPHORE foi resolvido com as mesmas configurações e tamanho do banco de dados.