Eu tenho um banco de dados de ~ 45 GB que aumenta rapidamente (~ 1 GB a cada semana).
Então, está fazendo muitas inserções; o aplicativo Web não tem muitos usuários, portanto as leituras estão baixas no momento.
Mas estou notando que os usuários do servidor sql de RAM variam de ~ 1 GB quando o servidor é iniciado pela primeira vez a usar ~ 7 GB de RAM após uma semana.
Existe algum tipo de vazamento de memória? Havia um artigo no MSDN que sugeria que o servidor SQL aumenta a memória usada no cache e que sempre continuará aumentando. No entanto, o servidor tem apenas 7,5 GB ou RAM, por isso estou preocupado que a memória fique sem memória a menos que eu reinicie o SQL Server toda semana ... o que parece errado.
Esse comportamento é típico? Existe alguma configuração que eu possa definir para limitar o uso da memória?
fonte
Respostas:
O servidor SQL deve usar o máximo de memória RAM possível. O servidor SQL também é incrivelmente inteligente. Temos servidores de banco de dados com RAM variando de 2Gb a 96Gb e nem uma vez, tive que intervir e começar a gerenciar a RAM manualmente, e a maioria deles possui 99,5% de utilização.
O fato simples é que o SQL Server executando com 1 GB de memória consumida será muito mais lento nas leituras do que um servidor SQL executando com 96 GB de memória consumida.
A menos que você esteja compartilhando as funções do servidor SQL com outras funções que consomem muita memória, deixe-as em paz. Ele nunca usará mais memória disponível no sistema e, se atingir 99% de utilização, será ótimo - você criou um cache grande e as coisas serão mais rápidas a partir de agora.
fonte
Normalmente, você deseja alocar 1 a 2 Gigs de RAM para o sistema operacional, para que ele tenha RAM para trabalhar. O SQL Server pode ter o restante da memória.
fonte