none
Como posso verificar memória que meu SQL 2008 está utilizando do servidor. RRS feed

  • Pergunta

  • Boa tarde, pessoal preciso de um help, o analista de redes da empresa me chamou para mostrar q o sql.exe está consumindo mais de 5GB da memória e está sobrecarregando, porém olhei na instacia em Memory, e está configurado para utilização máxima server de memory  de 2147483647 MB. Como faço para monitorar a memória que os processos dentro do sql estão utilizando?!..  

    Milena

    quarta-feira, 21 de novembro de 2012 15:55

Respostas

  • Milena,

    Normalmente esta memória que esta sendo consumida é conhecida como Memória Cache ou Buffer de sessões. O que você pode fazer é limpar o buffer ou cache para ter uma ideia de quanto esta sendo consumido de memória no seu servidor por parte do serviços do SQL Server.

    Mas vale ressaltar que esta é uma prática para despecho de memória que neste momento não precisa ser utilizada, e que toda limpeza de buffer ou cache de sessão poderá representar recompilação do plano de execução, necessidade de realocação de recursos em memória ou até mesmo um possível aumento no tempo de processamento quando estamos utilizando Stored Procedures.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Marcado como Resposta Richard Juhasz sexta-feira, 18 de janeiro de 2013 17:03
    quarta-feira, 21 de novembro de 2012 16:35
    Moderador
  • Milena,

    Cuidado!, Seu SQL Server esta com o limite maximo padrão, isso ai não é 2BG e sim 2097151GB!!!! O que muito provavelmente é mais que seu servidor, por isso esta consumindo tudo.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com


    quarta-feira, 21 de novembro de 2012 18:16
    Moderador
  • Boa tarde Milena.

    Você pode configurar seu SQL Server para utilizar apenas 6GB do servidor, deixando 2GB para o Windows ou de outra forma se preferir. Este número que aparece pra você como max server memory é em MB. Para ajustar é bem simples:

    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    sp_configure 'max server memory', 6144;
    GO
    RECONFIGURE;
    GO

    No exemplo acima estamos configurando o max server memory para 6GB mas este é o tamanho do cache de páginas. Existem alguns outros caches que o SQL faz que não estão nessa conta mas são poucos MB a mais, não devendo chegar a 7GB no total. Por favor, explique como você configurou para 2GB e cole a linha do max server memory que aparece quando você executa somente o sp_configure, sem parâmetro nenhum.

    Abs,


    Luiz Mercante
    MCITP SQL 2008 | MCTS SQL 2008 | MCTS Windows Apps | MCTS Windows Network | MCP 2003
    sqldicas@outlook.com
    http://sqldicas.com.br


    Se a resposta foi útil de alguma forma, classifique.

    sábado, 24 de novembro de 2012 11:48
    Moderador
  • Olá,

    Uma maneira que eu acredito ser confiável na verificação de memoria são.

    • SQL Server: Memory Manager – Total Server Memory (KB) -- Indica quanto de memoria o SQL Server está usando no momento
    • SQL Server: Memory Manager – Target Server Memory (KB) -- Indica o quanto de memoria o SQL Server poderá usar com base no valor configurado no Max Server Memory

    Um fato que você deve-se atentar é que a configuração do Max Server Memory é feita em MB, ou seja, para configurar seus 6GB é necessario 6144MB.

    Se a resposta foi útil, classifique-a


    Att, Marcos Freccia [MCTS|MCITP|MCT SQL Server 2008]

    • Marcado como Resposta Richard Juhasz sexta-feira, 18 de janeiro de 2013 17:03
    quarta-feira, 19 de dezembro de 2012 23:55

Todas as Respostas

  • Milena,

    O SQL Server ira consumir sim a memoria do servidor, e isso é uma coisa boa!

    Acho que estes artigos podem te explicar melhor.

    http://fabrizziocaputo.wordpress.com/2011/11/07/por-que-a-memoria-utilizada-pelo-sql-server-nao-diminui-por-que-a-memoria-do-sql-server-so-diminui-quando-eu-reinicio-o-servidor/

    http://fabrizziocaputo.wordpress.com/2012/02/24/utilizando-o-memorystatus-001/


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com

    quarta-feira, 21 de novembro de 2012 16:02
    Moderador
  • Mas Fabricio minha duvida é mesmo eu limitando para utilizar 2 gb ele está ultrapassando o limete e consumindo praticamente toda memória porque este servidor tem apenas 8 gb de memória. Reiniciando a maquina pode diminuir desaparecendo a memória secundaria?! E só existe este comando para monitorar o dbcc memorystatus, porque estava procurando algo como saber se existe um processo que esteja consumindo mais..

    Mas agradeço desde já a ajuda


    Milena

    quarta-feira, 21 de novembro de 2012 16:29
  • Milena,

    Normalmente esta memória que esta sendo consumida é conhecida como Memória Cache ou Buffer de sessões. O que você pode fazer é limpar o buffer ou cache para ter uma ideia de quanto esta sendo consumido de memória no seu servidor por parte do serviços do SQL Server.

    Mas vale ressaltar que esta é uma prática para despecho de memória que neste momento não precisa ser utilizada, e que toda limpeza de buffer ou cache de sessão poderá representar recompilação do plano de execução, necessidade de realocação de recursos em memória ou até mesmo um possível aumento no tempo de processamento quando estamos utilizando Stored Procedures.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Marcado como Resposta Richard Juhasz sexta-feira, 18 de janeiro de 2013 17:03
    quarta-feira, 21 de novembro de 2012 16:35
    Moderador
  • Milena,

    Cuidado!, Seu SQL Server esta com o limite maximo padrão, isso ai não é 2BG e sim 2097151GB!!!! O que muito provavelmente é mais que seu servidor, por isso esta consumindo tudo.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com


    quarta-feira, 21 de novembro de 2012 18:16
    Moderador
  • Boa tarde Milena.

    Você pode configurar seu SQL Server para utilizar apenas 6GB do servidor, deixando 2GB para o Windows ou de outra forma se preferir. Este número que aparece pra você como max server memory é em MB. Para ajustar é bem simples:

    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    sp_configure 'max server memory', 6144;
    GO
    RECONFIGURE;
    GO

    No exemplo acima estamos configurando o max server memory para 6GB mas este é o tamanho do cache de páginas. Existem alguns outros caches que o SQL faz que não estão nessa conta mas são poucos MB a mais, não devendo chegar a 7GB no total. Por favor, explique como você configurou para 2GB e cole a linha do max server memory que aparece quando você executa somente o sp_configure, sem parâmetro nenhum.

    Abs,


    Luiz Mercante
    MCITP SQL 2008 | MCTS SQL 2008 | MCTS Windows Apps | MCTS Windows Network | MCP 2003
    sqldicas@outlook.com
    http://sqldicas.com.br


    Se a resposta foi útil de alguma forma, classifique.

    sábado, 24 de novembro de 2012 11:48
    Moderador
  • Olá Milena, tudo bem? 

    Conseguiu configurar corretamente a utilização de memória do SQL Server? Conta aqui pra gente como ficou.

    Por favor, classifique as respostas úteis.

    Obrigado!


    Luiz Mercante
    MCITP SQL 2008 | MCTS SQL 2008 | MCTS Windows Apps | MCTS Windows Network | MCP 2003
    sqldicas@outlook.com
    http://sqldicas.com.br


    Se a resposta foi útil de alguma forma, classifique.

    segunda-feira, 10 de dezembro de 2012 15:14
    Moderador
  • Olá,

    Uma maneira que eu acredito ser confiável na verificação de memoria são.

    • SQL Server: Memory Manager – Total Server Memory (KB) -- Indica quanto de memoria o SQL Server está usando no momento
    • SQL Server: Memory Manager – Target Server Memory (KB) -- Indica o quanto de memoria o SQL Server poderá usar com base no valor configurado no Max Server Memory

    Um fato que você deve-se atentar é que a configuração do Max Server Memory é feita em MB, ou seja, para configurar seus 6GB é necessario 6144MB.

    Se a resposta foi útil, classifique-a


    Att, Marcos Freccia [MCTS|MCITP|MCT SQL Server 2008]

    • Marcado como Resposta Richard Juhasz sexta-feira, 18 de janeiro de 2013 17:03
    quarta-feira, 19 de dezembro de 2012 23:55