Eae Pessoal, tudo certo ?
Nesse artigo, vou mostrar como limitar o uso de memória pelo SQL Server.
O min server memory e o max server memory, são os valores minimo e máximo de memória que será gerenciada pelo processo do SQL Server.
Tanto o min server memory quanto o max server memory são opções avançadas de configuração que só ficam visíveis ao configurarmos a opção show advanced options.
sp_configure 'show advanced options', 1 reconfigure with override
Por padrão os valores vem setados como 0 para o min server memory e 2,147,483,647 para o max server memory (valores em megabytes (MB)) e o menor valor para se definir no max server memory é 128MB.
Bom agora que já temos um breve overview do min/max server memory devemos verificar, se já foi definido algum valor para a utilização minima e máxima, através dos comandos, abaixo:
sp_configure 'max server memory (MB)' sp_configure 'min server memory (MB)'
Conforme podemos notar na instancia abaixo estão definidos os valores de 512GB para max server memory e 256GB para min server memory.
Na instancia em questão eu possuo 640GB de memória ram, limitando o uso do SQL Server em no máximo 512GB.
No caso toda a memória disponível já está alocada, visto que se trata de um servidor de uso intenso, porém se não houvesse tanta demanda o valor de memória em uso talvez fosse menor.
Limitamos o uso de memória do SQL Server, para que o SQL Server não consuma toda a memória disponível no servidor, causando problemas de performance para o sistema operacional.
Supondo que houvesse uma redução de memória física no servidor, poderíamos ajustar os parâmetros conforme os comandos abaixo:
sp_configure 'max server memory (MB)', 421888 --412GB sp_configure 'min server memory (MB)', 131072 --128GB reconfigure with override
Onde os valores de min/max server memory foram redefinidos para 412GB/128GB respectivamente.
Também podemos limitar o uso através do SSMS, clicando com o botão direito do mouse e selecionando as propriedades da instância.
Espero que tenham gostado e até a próxima.