Usuário com melhor resposta
Problema com memoria do SQL no gerenciador

Pergunta
-
Ola Pessoal Tudo bem?
Queria saber se alguém ja pegou um caso com o SQL Server 2012 pra cima, que no gerenciador de tarefas do windows o consumo de memoria não passa de Ex: 56kb, mesmo que esteja configurado no SQL para consumir EX: 6GB.
Caso entre no monitor de recursos ele mostra a seguinte informação na aba Memória no processo do SQL
Confirmar ele mostra o consumo de 6gb e logo depois no conjunto de trabalho mostra consumo em kb
E consequentemente ocorre algumas lentidões, não sei se devido a isso. Algumas vezes o consumo fica em kb e o conjunto de trabalho fica em kb também.
Fico grato e obrigado a todos
Respostas
-
Grande Dyego, você já se atentou em monitorar o consumo real da instância SQL Server sobre a memória que configurou? Sugiro verificar de imediato através do script abaixo o consumo de memória de cada banco de dados no seu ambiente e pelo os contadores de performance.
--Memory used per database SET TRAN ISOLATION LEVEL READ UNCOMMITTED SELECT ISNULL(DB_NAME(database_id), 'ResourceDb') AS DatabaseName , CAST(COUNT(row_count) * 8.0 / (1024.0) AS DECIMAL(28,2)) AS [Size (MB)] FROM sys.dm_os_buffer_descriptors GROUP BY database_id ORDER BY DatabaseName
Lhe antecipo que o Task Manager não é uma boa ferramenta de análise do seu consumo de memória pelo SQL Server. Poderia fornecer mais detalhes sobre seu ambiente? Sugiro que dê uma lida no capitulo 4 do livro escrito por Jonathan Kehayias e Ted Krueger "Troubleshooting SQL Server - A Guide for the Accidental DBA". Acho que irá lhe esclarecer muito sobre suas dúvidas e problemas nessa questão da memória e o Task Manager.
- Editado Jerfeson S. Barbosa quarta-feira, 14 de setembro de 2016 12:29 Ajuste no texto
- Marcado como Resposta Dyego Rodrigues segunda-feira, 2 de janeiro de 2017 14:32
-
Dyego,
Uma solução simples e rápida seria utilizar o PerfMon(Performance Monitor) do Windows e adicionar os contadores de memória dedicados a sua instância SQL Server.
Dentro do Management Studio você também pode utilizar alguns scripts, como este:
SELECT cntr_value/1024 AS 'Memory (MB)' FROM master.dbo.sysperfinfo WHERE object_name = 'SQLServer:Memory Manager' AND counter_name = 'Total Server Memory (KB)'
Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 20 de dezembro de 2016 15:01
-
Obrigado desculpe a demora pela resposta
- Marcado como Resposta Dyego Rodrigues segunda-feira, 2 de janeiro de 2017 14:32
-
valeu Junior,
desculpe a demora mas isso me ajudou muito
- Marcado como Resposta Dyego Rodrigues segunda-feira, 2 de janeiro de 2017 14:32
Todas as Respostas
-
Grande Dyego, você já se atentou em monitorar o consumo real da instância SQL Server sobre a memória que configurou? Sugiro verificar de imediato através do script abaixo o consumo de memória de cada banco de dados no seu ambiente e pelo os contadores de performance.
--Memory used per database SET TRAN ISOLATION LEVEL READ UNCOMMITTED SELECT ISNULL(DB_NAME(database_id), 'ResourceDb') AS DatabaseName , CAST(COUNT(row_count) * 8.0 / (1024.0) AS DECIMAL(28,2)) AS [Size (MB)] FROM sys.dm_os_buffer_descriptors GROUP BY database_id ORDER BY DatabaseName
Lhe antecipo que o Task Manager não é uma boa ferramenta de análise do seu consumo de memória pelo SQL Server. Poderia fornecer mais detalhes sobre seu ambiente? Sugiro que dê uma lida no capitulo 4 do livro escrito por Jonathan Kehayias e Ted Krueger "Troubleshooting SQL Server - A Guide for the Accidental DBA". Acho que irá lhe esclarecer muito sobre suas dúvidas e problemas nessa questão da memória e o Task Manager.
- Editado Jerfeson S. Barbosa quarta-feira, 14 de setembro de 2016 12:29 Ajuste no texto
- Marcado como Resposta Dyego Rodrigues segunda-feira, 2 de janeiro de 2017 14:32
-
Dyego,
Uma solução simples e rápida seria utilizar o PerfMon(Performance Monitor) do Windows e adicionar os contadores de memória dedicados a sua instância SQL Server.
Dentro do Management Studio você também pode utilizar alguns scripts, como este:
SELECT cntr_value/1024 AS 'Memory (MB)' FROM master.dbo.sysperfinfo WHERE object_name = 'SQLServer:Memory Manager' AND counter_name = 'Total Server Memory (KB)'
Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 20 de dezembro de 2016 15:01
-
Obrigado desculpe a demora pela resposta
- Marcado como Resposta Dyego Rodrigues segunda-feira, 2 de janeiro de 2017 14:32
-
valeu Junior,
desculpe a demora mas isso me ajudou muito
- Marcado como Resposta Dyego Rodrigues segunda-feira, 2 de janeiro de 2017 14:32