Memória imediatamente disponível no sistema de gerenciamento de memória linux

0

Esta é a saída do comando free -h no meu Ubuntu 18.04 laptop:

$ free -hg
              total        used        free      shared  buff/cache   available
Mem:            11G        4,2G        3,4G        801M        4,0G        6,3G
Swap:           11G          0B         11G

Pelo que eu entendi depois de uma curta pesquisa usando principalmente sites stackexchange (por exemplo, esta elaboração ), a principal diferença entre free e available de memória é que free é realmente free e available pode se tornar free se a necessidade surge

Qual é o processo pelo qual a available de memória é alocada para uma tarefa que cria a necessidade relevante?

A liberação de páginas sujas e a liberação de cache (para alocar a memória liberada para um processo que a exige) constituem parte de tal processo?

Nesse caso, assumo que available deve ser sempre > cache .

    
por pkaramol 17.11.2018 / 19:25

1 resposta

2

É um pouco mais complicado do que isso . A memória disponível é memória que é imediatamente recuperável, isto é, pode ser adaptada sem perder dados, menos certos limites abaixo dos quais o sistema troca. Isso não inclui páginas sujas, pois elas precisam ser escritas e isso pode levar muito tempo.

Veja o link acima para detalhes. Em particular, a existência de limites e o fato de que “buff / cache” inclui páginas sujas, significa que não há garantia de que a memória disponível é maior que a quantidade dada em “buff / cache”.

    
por 17.11.2018 / 19:40