Eu tenho um servidor Red Hat Linux doméstico relativamente pequeno (cerca de 8 GB de RAM). Não o uso apenas para executar alguns aplicativos criados em casa para acompanhar várias coisas. As únicas coisas reais em execução na caixa são um banco de dados e um servidor web.
Notei que, ao verificar os contadores do sistema usando ferramentas como NMON e TOP, a memória livre total do sistema é relativamente baixa (da ordem de algumas centenas de MB), enquanto a memória ativa do banco de dados e do servidor da Web ainda é baixa (apenas consumir 3 GB combinados). Mesmo ao incluir todos os outros processos em execução, o total de memória consumida é inferior a 4 GB.
Por que o Red Hat Linux relata menos memória livre que a memória total menos a soma total da memória usada dos processos em execução?
fonte
O Linux armazenará em cache ativamente os acessos do sistema de arquivos na memória para oferecer tempos mais rápidos de acesso ao disco. Não é nada para se preocupar.
Executar free -m na caixa dará uma idéia melhor de onde a memória está sendo usada.
Abaixo está a saída retirada de uma das minhas caixas. A memória livre é 147Meg com quase 4G em cache para solicitações de acesso ao sistema de arquivos.
fonte
Você também está incluindo os campos "em buffer" e "em cache"?
fonte
Com o linux, veja Committed_AS em / proc / meminfo, essa é a quantidade de memória (real + swap) que o kernel realmente prometeu executar os processos.
O Linux usa a memória com muita eficiência, quaisquer blocos não prometidos para algum processo são usados para armazenar em cache arquivos acessados recentemente / com freqüência. Portanto, é típico do Linux usar 90% de toda a memória física disponível, não muito tempo após a inicialização.
Veja o que o kernel se comprometeu a fornecer .. e uso sujo (troca), isso fornece uma visão geral melhor.
Se você precisar ajustar esse comportamento, atualize sua pergunta :)
Este é o MO padrão para Linux. Algumas distribuições ajustam o gerenciamento de memória para atender às suas necessidades via sysctl. No entanto, o que você relata é bastante típico entre todos.
fonte
Que tipo de kernel você está executando no sistema? Um kernel de 32 bits reportará apenas cerca de 3,6 GB de memória, a menos que compilado com o PAE ativado.
Dizendo que, se esta é uma versão moderna do Redhat Enterprise Linux (ou CentOS) - v3 em diante -, o kernel padrão de 32 bits terá isso ativado.
Se você puder postar a saída do comando 'free' detalhado acima, poderemos ver se esse é o problema.
fonte