Significado dos buffers / linha de cache na saída de livre

152

Por que meu servidor mostra

            total      used      free   shared buffers    cached
    Mem: 12286456  11715372    571084        0   81912   6545228
-/+ buffers/cache:  5088232   7198224
   Swap: 24571408     54528  24516880

Eu não tenho ideia de calcular a memória no linux. Eu acho que diz que 5088232 é usado onde 7198224 é livre, o que significa que está realmente consumindo 5GB de RAM?

    
por Muahmmad Zeeshan 17.11.2009 / 11:37

3 respostas

215

Significado dos valores

A primeira linha significa:

  • total : Sua RAM total (física) (excluindo um pequeno bit que o kernel reserva permanentemente para si mesmo na inicialização); é por isso que mostra ca. 11.7 GiB, e não 12 GiB, o que você provavelmente tem.
  • used : memória em uso pelo sistema operacional.
  • free : memória não utilizada.

total = used + free

  • shared / buffers / cached : mostra o uso de memória para propósitos específicos. Esses valores estão incluídos no valor de used .

A segunda linha fornece valores de primeira linha ajustados. Fornece o valor original para used menos a soma buffers+cached e o valor original para free mais a soma buffers+cached , daí seu título. Esses novos valores costumam ser mais significativos do que os da primeira linha.

A última linha ( Swap: ) fornece informações sobre o uso do espaço de troca (ou seja, o conteúdo da memória que foi temporariamente movido para o disco).

Antecedentes

Para realmente entender o que os números significam, você precisa de um pouco de experiência sobre o subsistema de memória virtual (VM) no Linux. Apenas uma versão curta: Linux (como a maioria dos sistemas operacionais modernos) sempre tentará usar RAM livre para armazenamento em cache, então Mem: free será quase sempre muito baixo. Portanto, a linha -/+ buffers/cache: é mostrada, porque mostra quanta memória é livre ao ignorar caches; caches serão liberados automaticamente se a memória ficar escassa, então eles realmente não importam.

Um sistema Linux está com pouca memória se o valor free em -/+ buffers/cache: for baixo.

Para mais detalhes sobre o significado dos números, veja por exemplo as perguntas:

Alterações no procps 3.3.10

Observe que a saída de free foi alterada no processo 3.3.10 (lançado em 2014). As colunas relatadas agora são "total", "usado", "livre", "compartilhado", "buff / cache", "disponível" e os significados de alguns dos valores alterados, principalmente para melhor conta para o cache slab do kernel do Linux.

Veja o relatório de bugs do Debian # 565518 para a motivação, e O que fazer as alterações em free saída de 14.04 para 16.04 significa? para mais informações.

    
por 17.11.2009 / 12:42
7

Para qualquer pessoa que precise de uma explicação passo-a-passo ainda mais simples, verifique link , sua explicação me ajudou muito.

    
por 13.02.2012 / 23:06
2

A linha de buffers / cache mostra quanta memória é usada pelos programas (a primeira dessas colunas) e está livre para os programas usarem (segunda coluna). É um número bastante esotérico, e não é algo que você realmente olha muito na prática.

    
por 17.11.2009 / 12:03