A primeira linha das listas de saída free :
-
totalSua memória total, física (sem nenhuma virtualização) -
usedQuanto disso é usado atualmente (por qualquer coisa) -
freeQuanto disso é totalmente gratuito (não usado) -
sharedMemória usada (principalmente) por tmpfs (para Linux, kernel > = 2.6.32) -
buffersMemória usada pelos buffers do kernel -
cachedMemó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.)