none
SQLExpress - Memória RRS feed

  • Pergunta

  • Turma,

    Estou com o seguinte problema:

    Inicio a máquina e o sqlserver está consumindo apenas 30Mb de memória
    Entro em uma aplicação que conecta no banco e saio - sql consumindo 90Mb

    Faço o processo novamente e por ai vai.

    A memória do sql nunca mais abaixa.

    Alguém tem alguma sugestão?

    Valeu !!!
    • Movido Gustavo Maia Aguiar quinta-feira, 16 de setembro de 2010 16:06 (De:Programação avançada com o SQL Server)
    quarta-feira, 24 de outubro de 2007 15:36

Respostas

  •  

    Pablicio / Pessoal,

     

    Não podemos esquecer que o SQL trabalha com CACHE!! Se você acabou de iniciar o serviço, a memória de cache vai estar limpa, conforme formos usado recursos do banco, ele vai jogando informações para a memória. Esse recurso é usado exatamente para ter uma velocidade maior.

     

    Para a maioria dos serviços/programas, quanto mais memória está alocada pior, significa que o serviço está muito carregado. Para o SQL isso não é necessariamento um problema, ou melhor, pode ser a solução, o ponto onde ele ganha em desempenho.

     

     

    Abraço

     

    quarta-feira, 31 de outubro de 2007 13:37

Todas as Respostas

  • Pablicio,

     

    Você já verificou se existe alguma transação que possa esta consumindo memória?

     

    Ou até mesmo algum job?

     

    quarta-feira, 24 de outubro de 2007 15:47
    Moderador
  • Júnior,

    Não tem mais nada rodando no banco.

    Não entendi.

    Tem alguma forma de verificar consumo de memório, processo e etc através do sql?

    Abraço

    Pablicio
    quarta-feira, 24 de outubro de 2007 15:54
  • Pablicio,

     

    Conecte-se novamente no seu SQL Server, e através da system stored procedure: sp_who2, você poderá obter a lista de transações que estão sendo processados.

    quarta-feira, 24 de outubro de 2007 16:03
    Moderador
  • Júnior,

    Na lista não aparece nada.

    Estou começando a suspeitar da máquina (hardware), por que não existe motivo do sql continuar elevando a memória.

    Abraço!

    Pablicio
    quarta-feira, 24 de outubro de 2007 16:20
  • Pablicio,

     

    Como esta configurado o uso de memória para o seu SQL Server, dinamica ou limitada?

    quarta-feira, 24 de outubro de 2007 16:32
    Moderador
  • Está configurado da seguinte forma:

    Server memory options

    Use AWE to allocate memory está desmarcado
    Dynamic memory configuration está marcado
    Minimum server memory (in MB) igual a 0 (zero)
    Maximum server memory (in MB) igual a 2147483647
    Lock working set (in MB) está desmarcado

    Other memory options

    Index creation memory (in KB, 0 = dynamic memory) está igual a 0 (zero)
    Minimum server memory (in MB) igual a 1024

    Configured values está marcado.



    quarta-feira, 24 de outubro de 2007 16:51
  • Pablicio,

     

    Faça um teste, configure o seu SQL Server para utilizar memória fixa, ou seja, determine um valor mínimo para memória e um valor máximo.

    quarta-feira, 24 de outubro de 2007 16:59
    Moderador
  • Ok vou tentar fazer isso e te dou notícias.
    Mas só uma dúvida, quando determino o valor máximo e for necessário um tamanho maior o que vai acontecer?

    quarta-feira, 24 de outubro de 2007 17:02
  • Pablicio,

     

    Antes de definir estes valores, o quanto de memória RAM esta máquina possui?

     

    Neste o SQL Server, vai trabalhar somente com a quantidade de memória especificada, neste caso, ele não vai ficar alocando mais memória.

    quarta-feira, 24 de outubro de 2007 17:09
    Moderador
  • Júnior, essa máquina tem 2Gb
    quarta-feira, 24 de outubro de 2007 17:11
  • Pablicio,

     

    Qual é o sistema operacional?

    quarta-feira, 24 de outubro de 2007 17:13
    Moderador
  • 2000 Server
    quarta-feira, 24 de outubro de 2007 17:33
  • Pablicio,

     

    Então configure o seu SQL Server para trabalhar entre 256 e 512 MB de memória RAM o restante fica para o sistema operacional!!!

    quarta-feira, 24 de outubro de 2007 17:42
    Moderador
  •  

    Pablicio / Pessoal,

     

    Não podemos esquecer que o SQL trabalha com CACHE!! Se você acabou de iniciar o serviço, a memória de cache vai estar limpa, conforme formos usado recursos do banco, ele vai jogando informações para a memória. Esse recurso é usado exatamente para ter uma velocidade maior.

     

    Para a maioria dos serviços/programas, quanto mais memória está alocada pior, significa que o serviço está muito carregado. Para o SQL isso não é necessariamento um problema, ou melhor, pode ser a solução, o ponto onde ele ganha em desempenho.

     

     

    Abraço

     

    quarta-feira, 31 de outubro de 2007 13:37
  • Alexandre,

     

    Mas justamente por o SQL Server utilizar o cache e para evitar possívei problemas de desempenho, sugeri limitar o uso da quantidade de memória.

    quarta-feira, 31 de outubro de 2007 15:52
    Moderador
  •  

    Outra coisa, muito importante o SQL Server 2005 trabalha no máximo com 1 GB de memória RAM, mesmo que ele reconheça mais que 1 GB de memória, somente o alocado para uso será 1 GB, o restante será utilizado como dump de memória, neste caso, entra o cache.

    quarta-feira, 31 de outubro de 2007 15:56
    Moderador
  •  

    Outra coisa, muito importante o SQL Server 2005 trabalha no máximo com 1 GB de memória RAM, mesmo que ele reconheça mais que 1 GB de memória, somente o alocado para uso será 1 GB, o restante será utilizado como dump de memória, neste caso, entra o cache.

    Express
    segunda-feira, 13 de setembro de 2010 01:46