none
Sys.dm para saber quanto há de memória disponível RRS feed

  • Pergunta

  • Tentei achar aqui uma sys.dm para saber quanto de memória está disponível no servidor, mas não achei.

    Algume poderia dar um help?

    Att,
    Ricardo Muramatsu
    http://ricardomura.spaces.live.com
    quinta-feira, 11 de fevereiro de 2010 13:38

Respostas


  • Ricardo, vê se isso te ajuda.

    SELECT physical_memory_in_bytes / 1024 / 1024,
           virtual_memory_in_bytes,
           bpool_committed AS 'Number of 8KB buffers in buffer pool',
           bpool_commit_target AS 'Number of 8KB buffers needed by the buffer pool',
        CASE
        WHEN bpool_commit_target > bpool_committed THEN 'Extra memory needed from OS for Buffer Pool'
        WHEN bpool_commit_target < bpool_committed THEN 'Memory may be released from Buffer Pool to OS'
        END AS 'Status of Dynamic Memory',
           bpool_visible AS 'Number of 8KB Buffers in Buffer Pool that are directly accessible in the processes VAS.'
    FROM sys.dm_os_sys_info

    Tks. Fausto Fiorese Branco MCTS, MCITP/DBA 2005 | MCITP/DBA 2008 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco
    quinta-feira, 11 de fevereiro de 2010 16:45
  • Exatamente, tem que dividir até a unidade que você precisa.

    http://msdn.microsoft.com/pt-br/library/ms175048.aspx


    bpool_committed
     Número de buffers de 8 KB no pool de buffers. Esta quantidade representa a memória física confirmada no pool de buffers. Não inclui a memória reservada no pool de buffers.
     

    bpool_commit_target
     Número de buffers de 8 KB necessários ao pool de buffers. O valor alvo é calculado usando diversas entradas, como a situação atual do sistema, inclusive seu carregamento, a memória exigida pelos processos atuais, a quantidade de memória instalada no computador e os parâmetros de configuração. Se o bpool_commit_target for maior que o valor bpool_committed, o pool de buffers tentará obter memória adicional. Se o bpool_commit_target for menor que o valor bpool_committed, o pool de buffers encolherá.
     

    Tks. Fausto Fiorese Branco MCTS, MCITP/DBA 2005 | MCITP/DBA 2008 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco
    sexta-feira, 12 de fevereiro de 2010 11:36

Todas as Respostas

  • Ricardo,

    acho que essa consulta de atende

    SELECT

     

    *

    FROM

     

    sys.dm_os_sys_memory


    Se a resposta resolveu sua questão ou problema, classifique-a para manter a qualidade do forum e a confiabilidade dos participantes.

    Alex M. Bastos
    http://bastosalex.spaces.live.com
    quinta-feira, 11 de fevereiro de 2010 15:07
  • Não achei essa dm não, estou usando SQL2005.

    http://ricardomura.spaces.live.com
    quinta-feira, 11 de fevereiro de 2010 16:27
  • Ricardo,

    desculpe, mas assumi que você estava usando o 2008 e não tenho 2005 para verificar.
    Se a resposta resolveu sua questão ou problema, classifique-a para manter a qualidade do forum e a confiabilidade dos participantes.

    Alex M. Bastos
    http://bastosalex.spaces.live.com
    quinta-feira, 11 de fevereiro de 2010 16:41

  • Ricardo, vê se isso te ajuda.

    SELECT physical_memory_in_bytes / 1024 / 1024,
           virtual_memory_in_bytes,
           bpool_committed AS 'Number of 8KB buffers in buffer pool',
           bpool_commit_target AS 'Number of 8KB buffers needed by the buffer pool',
        CASE
        WHEN bpool_commit_target > bpool_committed THEN 'Extra memory needed from OS for Buffer Pool'
        WHEN bpool_commit_target < bpool_committed THEN 'Memory may be released from Buffer Pool to OS'
        END AS 'Status of Dynamic Memory',
           bpool_visible AS 'Number of 8KB Buffers in Buffer Pool that are directly accessible in the processes VAS.'
    FROM sys.dm_os_sys_info

    Tks. Fausto Fiorese Branco MCTS, MCITP/DBA 2005 | MCITP/DBA 2008 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco
    quinta-feira, 11 de fevereiro de 2010 16:45
  • Pode ser que sim, mas gostaria de enteder algumas coisas se possível:

    os campos virutal_memory_in_bytes,  bpool_committed, bpool_commit_target e bpool_visible eu devo dividir assim /1024/1024 também?

    O que siginfica os casos:Extra memory needed from OS for Buffer Pool e Memory may be released from Buffer Pool to OS



    http://ricardomura.spaces.live.com
    quinta-feira, 11 de fevereiro de 2010 18:11
  • Exatamente, tem que dividir até a unidade que você precisa.

    http://msdn.microsoft.com/pt-br/library/ms175048.aspx


    bpool_committed
     Número de buffers de 8 KB no pool de buffers. Esta quantidade representa a memória física confirmada no pool de buffers. Não inclui a memória reservada no pool de buffers.
     

    bpool_commit_target
     Número de buffers de 8 KB necessários ao pool de buffers. O valor alvo é calculado usando diversas entradas, como a situação atual do sistema, inclusive seu carregamento, a memória exigida pelos processos atuais, a quantidade de memória instalada no computador e os parâmetros de configuração. Se o bpool_commit_target for maior que o valor bpool_committed, o pool de buffers tentará obter memória adicional. Se o bpool_commit_target for menor que o valor bpool_committed, o pool de buffers encolherá.
     

    Tks. Fausto Fiorese Branco MCTS, MCITP/DBA 2005 | MCITP/DBA 2008 São Paulo - Brasil * http://www.linkedin.com/in/faustobranco
    sexta-feira, 12 de fevereiro de 2010 11:36
  • Vlw Fausto.

    Vou dar um olhada aqui.

    Att,
    Ricardo Muramatsu


    http://ricardomura.spaces.live.com
    sexta-feira, 12 de fevereiro de 2010 12:37