O que a alteração da Memória máxima do servidor faz além de limpar o cache do plano e (obviamente) alterar a configuração da memória)?

8

Executando o SQL Server 2012 SP3 em 32 GB de ram e 4 núcleos, conexões simultâneas de 60 a 80, com uma carga de trabalho amplamente ad-hoc, estamos observando o pico de processo (CPU) do SQL Server e permanecendo aumentado uma ou duas vezes por dia em horários imprevisíveis. Estamos trabalhando para identificar a causa raiz do pico. Enquanto isso, descobrimos que alterar a configuração de Memória máxima (para cima ou para baixo) parece ser a única coisa que fará com que a carga da CPU volte ao normal.

Verificando logs e pesquisando o StackExchange ( https://dba.stackexchange.com/a/183276 ), vemos que o cache do plano está sendo liberado alterando a configuração de Memória Máxima. No entanto, se liberarmos o cache do plano via DBCC FREESYSTEMCACHE ('Planos SQL'), a carga da CPU não retornará ao normal.

Como alterar a configuração de Memória máxima resolve o problema, independentemente do tempo, aumentamos ou diminuímos, o problema não parece estar diretamente relacionado à configuração de Memória máxima do servidor. Como tal, estamos tentando entender o que mais altera a configuração da memória e, em seguida, usamos essas informações para ajudar a identificar a causa raiz do aumento da CPU.

P Hinman
fonte
Você só estão limpando um único cache lá, você vai descobrir que há vários caches, ter uma leitura de dba.stackexchange.com/questions/56852/...
Nic

Respostas:

3

Ref: Opções de configuração da memória do servidor

max server memory controla a alocação de memória do SQL Server, incluindo (essencialmente qualquer funcionário de memória encontrado em sys.dm_os_memory_clerks):

  • o buffer pool
  • compilar memória
  • todos os caches
  • concessões de memória qe
  • memória do gerenciador de bloqueio
  • memória clr

Portanto, todos esses componentes serão efetuados pela max server memoryalteração da configuração.

Em uma nota lateral, este será um caminho muito difícil para descobrir o que está causando o pico de CPU. Sugiro que você use os seguintes artigos para sua solução de problemas.

  1. Solucionando problemas de desempenho de CPU do SQL Server por Joe Sack
  2. Como descubro o que está martelando meu SQL Server?
SqlWorldWide
fonte