'free': formato de saída

5

Eu uso free para obter a quantidade de espaço livre em alguns dos meus servidores. Sua saída é algo como:

$ free -m
             total       used       free     shared    buffers     cached
Mem:           374        366          8          0         58         98
-/+ buffers/cache:        209        165
Swap:         1906        120       1785

Quanto espaço livre eu realmente tenho?

    
por Adam Matan 06.03.2012 / 06:17

2 respostas

15

A primeira linha das listas de saída free :

  • total Sua memória total, física (sem nenhuma virtualização)
  • used Quanto disso é usado atualmente (por qualquer coisa)
  • free Quanto disso é totalmente gratuito (não usado)
  • shared Memória usada (principalmente) por tmpfs (para Linux, kernel > = 2.6.32)
  • buffers Memória usada pelos buffers do kernel
  • cached Memória usada para o cache

Os dois últimos itens, cache e buffers, são memórias que não são alocadas para processos específicos do usuário. É a memória reservada pelo kernel para melhorar o desempenho geral, mas não é a memória de "aplicativo". Essas áreas vão aumentar ou diminuir dependendo das políticas do kernel em relação ao armazenamento em cache, pressão de memória, padrões de E / S do aplicativo, etc.

Como essas duas colunas não são alocadas pelo usuário, e as zonas podem ser reduzidas (praticamente a zero) se as alocações de usuários exigirem, elas são, de certo modo, "livres" - há RAM lá que pode ser liberada pelo kernel se seus aplicativos precisarem ativamente.

Isso é o que a segunda linha diz a você. Ele remove o buffer e a memória cache da coluna used (é o que significa o - ) e adiciona ( + ) à coluna free . (Questão de arredondamento vai acontecer.)

(A última linha mostra o estado do seu espaço de troca.)

    
por 06.03.2012 / 08:57
1

Sem trocar seu espaço livre real é 165. Com o cache você tem 8MB de espaço livre. Sem cache você tem 165MB livres. A linha -/+ está sem cache. a primeira linha é com cache.

    
por 06.03.2012 / 06:33