Eu tenho a max_server_memory
configuração configurada para 141 GB em nosso SQL Server de produção e a memória de destino/total do servidor é de 144 GB.
Eu pensei que max_server_memory
representa quanta memória estou disposto a deixar o mecanismo do SQL Server usar, se sim, por que ele está usando mais do que isso?
Executando o SQL Server 2012 SP3, máquina física com 160 GB de memória instalada, nenhuma outra instância em execução na caixa, mas também estamos executando o Integration Services.
Temos 75 bancos de dados de usuários, para um tamanho total de 928 GB. Não tenho certeza se columnstore está sendo usado ou como posso verificar isso. Este é um aplicativo de fornecedor.
Agora memória de destino = 144.384.008 e total = 144.378.261.
A instância está ativa desde ontem à noite, 2019-05-01 22:20:21.097 EST. Tivemos alguma manutenção de infraestrutura que exigiu que a instância fosse interrompida. No entanto, notei há algum tempo que o total/alvo está sempre em 144, enquanto o máximo sempre foi definido como 141. PLE durante o horário comercial principal de segunda a sexta-feira é de cerca de 0,5 a 1 hora em média, às vezes salta para 2 horas .
A configuração de memória máxima do servidor não representa quanta memória você deseja permitir que o mecanismo SQL use. Do Guia de arquitetura de gerenciamento de memória :
Você converteu a memória total e do servidor de destino em GB para ver qual é o valor real em GB. Como você está comparando com a memória máxima do servidor, definida como 141 GB, você deve converter os valores em GB para ver se eles realmente são maiores que a memória máxima do servidor.
Se você converter a memória total e do servidor de destino para GB, ela virá
Em ambos os casos, a memória total e do servidor de destino é menor que a memória máxima do servidor. Concordo com o que Joe citou e para acrescentar um pouco mais
Portanto, o consumo total de memória do SQL Server pode ir além do limite definido na memória máxima do servidor.
Existem 2 coisas
Para ficar acima você só precisa correr abaixo