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
Não faço ideia de calcular a memória no linux. Eu acho que diz que 5088232 é usado onde 7198224 é gratuito, o que significa que está realmente consumindo 5 GB de RAM?
linux
memory
memory-usage
virtual-memory
Muahmmad Zeeshan
fonte
fonte
Respostas:
Significado dos valores
A primeira linha significa:
total
: Sua RAM total (física) (excluindo um pouco 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 possui.used
: memória em uso pelo sistema operacional.free
: memória não em uso.total
=used
+free
shared
/buffers
/cached
: Mostra o uso da memória para fins específicos, esses valores estão incluídos no valor paraused
.A segunda linha fornece os valores da primeira linha ajustados. Ele fornece o valor original para
used
menos a somabuffers+cached
e o valor original parafree
mais a somabuffers+cached
, daí o título. Esses novos valores geralmente são 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).fundo
Para realmente entender o que os números significam, você precisa de um pouco de conhecimento sobre o subsistema de memória virtual (VM) no Linux. Apenas uma versão curta: o Linux (como o sistema operacional mais moderno) sempre tenta usar RAM grátis para armazenar coisas em cache, portanto
Mem: free
, quase sempre será muito baixo. Portanto, a linha-/+ buffers/cache:
é mostrada, porque mostra quanta memória está livre ao ignorar caches; os caches serão liberados automaticamente se a memória ficar escassa, para que eles realmente não importem.Um sistema Linux está realmente com pouca memória se o
free
valor na-/+ buffers/cache:
linha ficar baixo.Para mais detalhes sobre o significado dos números, consulte, por exemplo, as perguntas:
Alterações nos procps 3.3.10
Observe que a saída de
free
foi alterada no procps 3.3.10 (lançado em 2014). As colunas relatadas agora são "total", "usadas", "gratuitas", "compartilhadas", "buff / cache", "disponíveis" e os significados de alguns dos valores alterados, principalmente para melhor explicar a laje do kernel do Linux cache.Veja o relatório de Bug Debian # 565518 para a motivação, e o que significam as mudanças na
free
saída de 14.04 para 16.04? para mais informações detalhadas.fonte
$ free -h
total used free shared buff/cache available
Mem: 3.4G 585M 152M 11M 2.6G 2.5G
Swap: 4.0G 84M 3.9G
total = used + free + buff/cache
Para quem precisa de uma explicação passo a passo ainda mais simples, consulte http://thoughtsbyclayg.blogspot.com/2008/09/display-free-memory-on-linux-ubuntu.html , a explicação dele me ajudou muito .
fonte
A linha de buffers / cache mostra a quantidade de memória usada pelos programas (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 vê muito na prática.
fonte