none
SQL SERVER 2008 MEMORIA RRS feed

  • Pergunta

  • Boa tarde

    Alguem poderia me ajudar, tenho um clientes que esta instalado o windows server 2008 enterprise   mais o Sql Server 2008

    a maquina esta com 120 gb de ram ..o que o sql esta limitado no maximo de 40 gb..porem isso não esta parametrizado no sql, alguem poderia me ajudar  a entender o porque o sql nuam utiliza mais pois o mesmo esta usado somente estes 40 gb e so que esta compromentendo o desepenho do processador que esta trabalhando com acima de 60% do processamento ..detalhe este maquina tem  2 processador de 12 nuclos..

    alguem teria uma ideia o posso testar para verificar o que esta de errado?

    quinta-feira, 16 de agosto de 2012 18:49

Todas as Respostas

  • Boa tarde,

    Primeiramente você pode utilizar um comando para verificar o maximo de memória, segue comando abaixo.

    sp_configure 'max server memory'


    Caso estiver com 40 gb de máximo, rode script abaixo para alteração.

    EXEC sys.sp_configure N'max server memory (MB)', N'90000'
    GO
    RECONFIGURE WITH OVERRIDE
    GO


    Esse 90000 quer dizer que o máximo é 90 Gb, porém você pode alterar para quanto quer utilizar.

    Observação:

    Sempre bom lembrar também o máximo de memoria que é suportada por versão, segue relação abaixo,

    --

    Datacenter - Máximo do sistema operacional

    Enterprise - 2T

    Developer - Máximo do sistema operacional

    Standard - 64 GB

    Web - 64 GB

    Workgroup - 4 GB (64 bits), máximo do SO (32 bits)

    Express - 1 GB

    Express with Tools - 1 GB

    Express com Advanced Services - 1 GB e 4 GB para Reporting Services

    [ ] 's




    quinta-feira, 16 de agosto de 2012 19:05
  • Boa tarde Marcos,

    Qual a versão do seu SQL? (Express, WorkGroup, Standard, Enterprise, Datacenter)

    Versão             Max. Memória

    Datacenter

    Máximo do sistema operacional

    Enterprise

    2 TB

    Developer

    Máximo do sistema operacional

    Standard

    64 GB

    Web

    64 GB

    Workgroup

    4 GB (64 bits), máximo do SO (32 bits)

    Express

    1 GB

    Express with Tools

    1 GB

    Express com Advanced Services

    1 GB

    4 GB para Reporting Services

    quinta-feira, 16 de agosto de 2012 19:06
  • Olá Fernando,

    Para ser utilizado o máximo de memória do server deve ser passado o valor 2147483647(2TB).

    quinta-feira, 16 de agosto de 2012 19:10
  • Ola Marcos,

    Veja como estão as configurações do SQL Resource Governor, se esta ativado e como esta configurado


    [ ]´s,
    Lukas Baldan



    quinta-feira, 16 de agosto de 2012 19:13
  • Mas ai vai do ambiente que está e da versão do sql instalado, porém precisa analisar todos os pontos antes de colocar full memory, precisa verificar I/O , o servidor está junto com algum outro servidor? Tem ts no servidor? e assim vai, para evitar gargalos de memória e um possível travamento no próprio server.
    quinta-feira, 16 de agosto de 2012 19:16
  • fernando executei

    sp_configure 'max server memory'

    so que deu erro  ddizendo que nuam existe esta opção de max server memory

    A VERSAO DO SQL INSTALADO  E

    Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64)   Jul  9 2008 14:17:44   Copyright (c) 1988-2008 Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

    O SISTEMA OPERACIONAL E

    WINDOWS SERVER 2008 R2 ENTERPRISE SSPI

    A MAQUINA E

    INTER(R) XEON (R) E 5649@2,53GHZ 2,53 GHZ 2 PROCESSADORES

    120 GB DE RAM E 64 BITS

    quinta-feira, 16 de agosto de 2012 19:52
  • fernando ..esta maquina não tem acesso remoto nela..e tb ela e exclusiva para os bancos que tem 38 bancos na media de 2 gb cada um por outro .. a maioria trabalham com view..
    quinta-feira, 16 de agosto de 2012 19:58
  • Estranho a sp não funcionar, pois para consultar, a permissão é concedida a todos usuários por padrão, mas você pode verificar ou alterar via gráfico mesmo, clicando com botão direito encima de sua instância / propriedades depois de abrir a tela de propriedades, na opção MEMORIA a segunda de cima para baixo, dentro dessa tela tem um campo de preenchimento 'Maximum server memory (in MB).
    quinta-feira, 16 de agosto de 2012 20:06
  • Marcos, tenta assim:

    sp_configure 'max server memory (MB)', 2147483647
    reconfigure with override
    Fernando, quando se tem apenas uma instância no servidor vc pode deixar o default do sql 2147483647(2TB). Pois o sql server adquire a quantidade necessária para a utilização, se o windows necessitar de mais memória ele "solicita" ao sql para que seja liberado caso o sql não esteja usando, assim como se o sql precisar o S.O tbm sede. Se houvesse mais de uma instância no servidor seria interessante a "divisão" de acordo com a utilização de cada instância, como vc falou vai de cada ambiente.

    quinta-feira, 16 de agosto de 2012 20:17
  • Fernado ..nesta opção esta no  valor do sql 2147483647 max e mim 0

    Me falaram que marcado esta opção Use AWE  to allocat memory  memoria a desepenho ..o que me diz sobre isso?

    quinta-feira, 16 de agosto de 2012 20:19
  • Marcos,

    Só é habilitado AWE em S.Os 32bits, para que o sql consiga utilizar mais memória.

    Obs: Ha algumas recomendações sobre isso, da uma pesquisada a respeito.


    Com relação ao valor do parametro "Max Server memory (MB)", ja esta com 2147483647. Pode significar que o seu sql não necessáriamente esta precisando utilizar mais memória, o problema de esta consumindo mais CPU pode ser outro. 
    • Editado Andre_Bel quinta-feira, 16 de agosto de 2012 20:29
    quinta-feira, 16 de agosto de 2012 20:26
  • Andre ..boa tarde

    Entaum coforme passei para o fernando esta justamente com esta valor ..porem o sql esta usando no maxcimo 40gb e  processos esta sobre a cpu ..dai a maquina trava e o sistem fica lento

    A minha duvida e pq o sql nuam reconhece os 120 gb

    tem mais algum configuração que posso testar ou verificar

    quinta-feira, 16 de agosto de 2012 20:32
  • Andre ..tem alguma instrução sql que possa verificar o processo que esta mais usando a cpu ..tipo se insert ou mesmo uma update

    quinta-feira, 16 de agosto de 2012 20:36
  • Ola Marcos,

    Baixa essa proc "sp_whoisactive", muito boa. Ela mostra tudo o que esta sendo executada no momento e quanto esta consumindo do seu server.

     
    http://sqlblog.com/blogs/adam_machanic/archive/tags/who+is+active/default.aspx
    quinta-feira, 16 de agosto de 2012 20:43
  • Como Lukas informou,

    Verifique o Resource Governor, ele é usado para limitar recursos físicos.

    [ ]'s

    quinta-feira, 16 de agosto de 2012 20:48
  • Descupa andre mais acho que estou meio lerdo ..naum consegui abaixar

    quinta-feira, 16 de agosto de 2012 21:50
  • Fernando

    teria como vc me explicar como acessar e verificar Resource Governor?

    quinta-feira, 16 de agosto de 2012 21:51
  • Boa noite,

    Você pode verificar se ele está habilitado ou desabilitado seguindo a imagem abaixo,

    quinta-feira, 16 de agosto de 2012 23:24
  • BOM DIA...

    DESCUPA FERNANDO EM RESPONDER SOMENTE HOJE

    ESTA SIM HABILITADO ..ESTA INDICADO 100% MEMORIA E 100% CPU  SO NA LINHA ABAIXO QUE ESTE NA LINHA RESOURCE POOLS

    JA NA LINHA WORKLOAD GROUPS FOR RESORUCE POOL

    ESTA MEMORY GRANT % 25  E CAMPO IMPORTANCE ESTA MEDIUM

    NESTE CASO PRECISO FAZER ALGUMA ALTERAÇÃO ?

    sexta-feira, 17 de agosto de 2012 12:20
  • Bom dia,

    Eu não recomendo você efetuar a alteração, pois esse campo memory grant como defalut ele já é 25%, se eu não me engano esse memory grant é o máximo de memoria que uma requisição pode utilizar do pool.

    sexta-feira, 17 de agosto de 2012 12:27
  • Fernado..

    Será que tem alguma relação a versao do sqlserver nuam ser R2 e Windows ser R2?

    Lendo alguns artigos dizem que consegue melhor desempenho com o dois ...

    O que vc acha poderia ser mais radical e formatar e mudar para o R2 ?

    Como te passei a  configuração da maquina e uma maquina boa ..teria que ter um desepenho melhor ..um resultado melhor..?

    Por que naum cosigo entender por que no grafico o maximo que atinge de uso da memoria de 40% enquanto o cpu esta no topo..e nuam existe esta  fluxo taum grande para tanto consumo ..ele deveria reconhecer toda memoria vc naum acha?

    sexta-feira, 17 de agosto de 2012 12:39
  • Boa tarde,

    Eu sou contra essas ações radicais , formatar, desinstalar e etc.. sempre tento encontrar uma outra forma para resolver o problema, enfim sobre o seu problema, precisa verificar mesmo se o problema está na memória, pelo que parece está dando gargalo no processador, já verificou no 'Gerenciador de Tarefas do windows' na guia Processos, verifica o campo Memoria e CPU para verificar quais processos estão mais altos.

    [ ]'s

    sexta-feira, 17 de agosto de 2012 18:40
  • Bom dia fernando sim ..e o sqlserver que esta trabalhando em alto

    Cara naum sei mais o que faço...a maquina chegar ficar no topo cpu ..dai a memoria fica la na baixa

    e a cpu la  encima

    preciso encontrar um comando que faz um rastreamento de todos os processos do sql..qual processo que esta usando cpu ou tipo assim

    para tentar eliminar na aplicação do soft

    sábado, 25 de agosto de 2012 14:43