Por que a memória disponível é menor que a memória livre no comando free?

3

Estou usando o CentOS 7, acho que minha memória disponível é menor que a memória livre, mas por quê?

root@localhost:~# free -h
              total        used        free      shared  buff/cache   available
Mem:           251G        1.9G        249G        9.2M        260M        248G
Swap:           64M         49M         14M

Existe o mesmo problema, mas a resposta não explicou porque o disponível é menor que o gratuito, é só falar sobre o cache.

por que centos7 saída de comando livre valor disponível menor que o valor livre

    
por Index 26.04.2018 / 13:35

2 respostas

0

A memória disponível é apenas uma estimativa de como a memória pode ser realmente usada em seu sistema para carregar programas, portanto, não é um valor preciso .

Como você provavelmente já sabe, o comportamento normal é ter a memória disponível maior que a memória livre, mas no seu caso ocorre o contrário , porque as estatísticas usadas para calcular esse valor estimado será auxiliado por maiores valores de cache / buffers, mas eles são penalizados em seu sistema porque você não tem cache ou buffers altos e, como todas as outras coisas são consideradas negativas, sua memória disponível terá um impacto negativo maior ... por isso é provavelmente subestimado, uma vez que irá considerar que esta percentagem de toda a sua memória livre, será necessária para muitas outras coisas além de simples programas de carregamento (especialmente quando carrega programas - o sistema precisará de mais e mais memória para armazenar informações sobre os processos e muito mais - também como ter um valor razoável de caches e buffers ...).

Do github:

MemAvailable: An estimate of how much memory is available for starting new applications, without swapping. Calculated from MemFree, SReclaimable, the size of the file LRU lists, and the low watermarks in each zone. The estimate takes into account that the system needs some page cache to function well, and that not all reclaimable slab will be reclaimable, due to items being in use. The impact of those factors will vary from system to system. To get a more detailed answer, you will need to post the contents of your /proc/meminfo.

    
por 26.04.2018 / 19:52
1

Se você ler a página man do CentOS 7 em free , ele explica que o campo available leva em conta que nem toda a memória recuperável será recuperada devido a alguns itens em uso (memória disponível para o kernel, por exemplo), ao contrário do cache e campos livres. Acredito que isso possa ser a causa das diferenças que você está vendo.

available: Estimation of how much memory is available for starting new applications, without swapping. Unlike the data provided by the cache or free fields, this field takes into account page cache and also that not all reclaimable memory slabs will be reclaimed due to items being in use (MemAvailable in /proc/meminfo, available on kernels 3.14, emulated on kernels 2.6.27+, otherwise the same as free)

    
por 26.04.2018 / 17:20