Usado memória no Linux? [duplicado]

3

Eu vejo no System Monitor, usei apenas 332MB de memória, então a memória livre é de ~ 3,4GB, mas quando eu uso a linha de comando: free -m , a memória usada é de 1GB, memória livre de apenas 2.8GB.

Eu uso a linha de comando: cat /proc/meminfo -> result same free -m .

Por quê? Quem pode me ajudar?

    
por Jack 18.09.2012 / 07:12

2 respostas

2

Está tudo lá. A primeira linha de free mostra que os buffers ocupam 124, o cache 543; 543 + 124 = 667, 1000 - 667 = 333. E é isso que a segunda linha de free (na verdade, 332) mostra.

Essa é a diferença entre a "memória livre" e a memória "disponível". Buffers / cache podem ser liberados em um momento, então eles não contam como memória "não disponível" no Monitor do Sistema, mas eles também não são, estritamente falando, memória livre.

Do ponto de vista do usuário, a memória "disponível" é mais importante. O Linux irá maximizar os buffers / cache para acelerar o sistema, mas isso não significa que sua memória está cheia e que o sistema fica lento devido à falta de memória disponível.

    
por January 18.09.2012 / 07:28
1

Dê uma olhada na segunda linha da saída gratuita na sua captura de tela. Isso é rotulado "- / + buffers / cache:"

Onde você encontra os valores equivalentes.

Para mais informações, veja por exemplo link

  

Buffers: memória no cache de buffer. principalmente inútil como métrica hoje em dia

     

Armazenado em cache: memória no pagecache (diskcache) menos o SwapCache

     

SwapCache: Memória que uma vez foi trocada, é trocada de volta, mas ainda está no swapfile (se a memória for necessária, ela não precisa ser trocada novamente porque ela já está no swapfile. Isso salva I / O)

    
por H.-Dirk Schmitt 18.09.2012 / 07:51