Uso da memória virtual do MongoDB

5

Estou testando o MongoDB para dados de arquivos. Nós temos uma coleção com 160 milhões de linhas. A instância do MongoDB usa uma memória virtual de 76,2 Gb em uma caixa de memória física de 12 Gb ;-) A troca em nulo.

Eu li essa memória virtual = física + swap.

O que há de errado no meu caso? Isso é um problema para o próprio mongoDB?

Obrigado

    
por hotips 16.04.2012 / 11:34

1 resposta

10

O MongoDB usa arquivos mapeados na memória - que podem ser muito maiores do que o físico real (ou swap) disponível em sua máquina. A memória virtual total usada geralmente será o tamanho de todos os dados no disco no momento como resultado.

A memória residente será a estatística que representa o conjunto de trabalho real usado, embora dependendo de seus recursos na caixa e do padrão de uso, isso tenderá a crescer com o tempo e se aproximará da RAM física total no host. Basicamente, a menos que o sistema operacional perceba a necessidade de eliminar dados antigos (pressão da memória), ele permanecerá na RAM.

Quando você reinicia o MongoDB, isso basicamente começa do zero. Portanto, se você tiver um prazo conhecido para seu conjunto de dados de trabalho real (digamos que você use apenas os últimos 7 dias), o tamanho definido após esse período (considerando uso regular e previsível) representará o tamanho aproximado do conjunto de trabalho em termos de RAM.

Mais informações podem ser encontradas no Documentos aqui:

link

link

Por fim, o MMS (que é gratuito) faz um bom trabalho de mapear isso para você ao longo do tempo - Mapeado, Virtual, Residente e não Mapeado, além de muitas outras estatísticas (procure "i" em cada gráfico para uma explicação).

link

    
por 16.04.2012 / 19:00

Tags