Memória do SQL Server constantemente subindo, de 1 GB de RAM usado para 7 GB em uma semana


8

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?


3
Veja a resposta do Farseeker. Ele bateu o prego na cabeça. Esse é um comportamento normal e pronto para uso e, embora haja uma maneira de limitar o uso de memória do SQL; você realmente não precisa fazer isso. Nosso servidor SQL limita 10,5 GB a 11 GB (do total de 12 GB) de memória em algumas horas. Eu e meu DBA ficamos muito felizes quando vemos SQL com tanta memória. Isso significa que nossos aplicativos terão acesso a esses dados com muito mais rapidez.
cifra

Respostas:


14

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.


Obrigado, não sabia que esse era o comportamento esperado e desejado. Vou me certificar de deixá-lo sozinho então.
precisa saber é o seguinte

1
@rksprst - tudo de bom, leva algum tempo para se acostumar.
Mark Henderson

2

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.


Algumas fontes de MS recomendam limitar sua memória, então +1.
Sam
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.