Available Memory: Memória Livre no Sistema Operacional


Estou revisando um servidor em relação à quantidade de memória RAM disponível e notei um gráfico bem interessante: quantidade de memória livre em MB ao longo do tempo.

image

Mudando a escala, o gráfico apresenta os vales mais acentuados:

image

Desafio rápido: Seria isso um problema?

Resposta: <ainda vou publicar>

Comments (6)

  1. Sérgio Fonseca disse:

    Acredito que tudo DEPENDE… Se tiver somente SQL Server na maquina (Com MAX MEM ajustado) em alguns momentos o consumo pode chegar no topo provavelmente em um processamento BATCH PESADO. Se houver outros processos consumindo memória que deveria ser do SQL Server, ai pode ser um problema

  2. Leonardo Pedroso Costa disse:

    Ja presenciei situações de processamento de cubos no Analysis Services que ocorria isso. Como as cargas do BI são realizadas na madrugada, alguns cubos eram processados no horário comercial, e quando isso acontecia, o Nagios alarmava consumo de memória por vários minutos.

    Se não for ambiente OLAP, creio que um "auto update statistics async" em uma big table possa fazer isso também, mas aí o CPU iria lá em cima também. Tem que monitorar mesmo, vou ficar de olho aguardando seu parecer hehehehehehe 😀

  3. Vladimir Magalhães disse:

    Rapaz, estou desconfiando que isso tem relação com o LOCK PAGES IN MEMORY, será?

    Se for o que estou pensando, pode ser um problema, pois o sistema pode estar chegando a um ponto crítico de falta de memória e enviando mensagem para os serviços, incluindo o SQL Server, para que liberem memória, só que se isso ocorre no meio do dia como nesse gráfico e de forma repentina, creio que o sistema sofra uma bela "pancada".

    De qualquer forma, aguardo ansiosamente a resposta!

  4. Com base na conversa que tivemos a semanas atrás, sim é um possível problema, pela fato da qtdade de memória livre demonstrar uma variação muito grande.

    Os momentos de baixa memoria (menos de 300MB) são seguidos por uma alta consideravel, o que nos leva a suspeita de ter ocorrido Working Set Trimming e Paging, devolvendo memória ao Windows e podendo gerar problemas de baixo desempenho.

    Se for um caso repetido ao longo do dia ou dos dias, é interessante analisar qual processo está aumentando o consumo de memória.

  5. fcatae disse:

    Excelentes comentários!!! Pensei em responder a todos vocês aqui no campo de comentário, mas acho que vale a pena criar um post exclusivo para cada um.

  6. fcatae disse:

    Já me adiantando e comentando individualmente:

    @Sérgio: Correto, é importante ter o Max Server Memory bem configurado para evitar problemas. O único detalhe é que não precisa ser um batch pesado, mas uma carga bastante particular (com alto consumo de memória através do Multi-Page Allocator). Aqui se abre o caminho para falar de todos os pontos de memória.

    @Leonardo: Esse problema pode ocorrer quando o Analysis Services está na mesma máquina do SQL Server. A ideia de "atualização assíncrona de estatística" (async update stats) é válida em um banco OLTP e afeta indiretamente a memória. Vale uma discussão mais extensa.

    @Vlad: Acertou na mosca!!! Você vai gostar de ver um outro contador, porque esse gráfico não é a melhor evidência. Tem uma outra visualização que isso é claro, claríssimo.

    @Alex: 110% correto. Complementou a resposta do Vlad.