O “min_free_kbytes = 256000” permite o armazenamento em cache mesmo quando o mem livre está em 250 MB?

3

Na verdade, estou plotando um gráfico de memória que mostra a memória livre, armazenada em cache, usada e em buffer na minha VM. E estou usando esses valores usando o comando sar -r . Meu min_free_kbytes é 256000.

Agora, a memória em cache está aumentando continuamente até que haja apenas 500 MB de memória livre. Por que a memória em cache é reduzida assim que a memória livre diminui para cerca de 500 MB, embora o min_free_kbytes esteja definido para 250 MB?

    
por Mukund Gandlur 14.12.2016 / 07:04

1 resposta

3

A variável sintonizável em /proc/sys/vm/min_free_kbytes não define o ponto exato quando o sistema começará a recuperar várias formas de memória armazenada em cache, se houver alguma disponível.

A variável sintonizável em /proc/sys/vm/min_free_kbytes é usada para calcular pelo menos um número mínimo de páginas de memória e um baixo número de páginas de memória, por zona, se aplicável. Quando o número de páginas disponíveis de memória ultrapassar o limite de baixo , o sistema de gerenciamento de memória começará a tentar recuperar as páginas de memória armazenadas em cache disponíveis. O objetivo é nunca atingir o número mínimo de páginas de memória (embora seja possível), enquanto mantém espaço (e tempos de resposta) para requisitos de memória de baixa latência.

Veja também: /proc/meminfo /proc/zoneinfo

O gerenciamento de memória do Linux é um grande assunto, e minha resposta é superficial.

    
por Doug Smythies 26.12.2016 / 01:11