Configuração do Debian max_ratio para o dispositivo não funcionar

2

Minha máquina debian 8 possui 2 drives. Às vezes eu movo / copio arquivos da unidade A para a unidade B. A unidade B é lenta, portanto o cache do sistema de arquivos está cheio, fazendo com que o sistema fique lento / não responda ao copiar arquivos grandes. Para evitar isso, eu queria limitar o cache do sistema de arquivos a ser usado para o dispositivo B. Por isso, alterei a configuração /sys/class/bdi/MAJOR:MINOR/max_ratio de 100 para 20 . No entanto, isso não parece ter efeito porque as páginas sujas ainda são preenchidas da mesma maneira que antes, de acordo com /proc/meminfo .

O que estou perdendo? Preciso fazer alguma coisa para recarregar essas configurações? Existe outra maneira de limitar o cache do sistema de arquivos para um dispositivo específico?

Já experimentei a opção de montagem "sync". Isso funciona, mas torna a unidade B terrivelmente lenta.

    
por Martin 15.11.2017 / 11:06

1 resposta

0

Essas configurações só entram em vigor após o cache total de write-back ser preenchido (dirty_ratio + dirty_background_ratio / 2). Referências:

  • Publicação LKML por Jan Kara
  • envie 5fce25a9df48 na v2.6.24. "Permitimos a violação dos limites do bdi se houver muito espaço no sistema. Quando atingirmos a metade do limite total, começaremos a impor limites de bdi ..." Isso faz parte da mesma versão do kernel que adicionou o dispositivo interno " limites ". Assim, os "limites" sempre funcionaram assim, exceto pelos pré-lançamentos v2.6.24-rc1 e -rc2.
  • Otimização de gravação mais inteligente da LWN.net - se você quiser uma referência para a série de atualizações original. Não descreve essa limitação específica.

Por simplicidade, vamos supor os valores padrão dos sysctls vm.dirty *: dirty_background_ratio = 10 e dirty_ratio = 20. Nesse caso, os processos têm permissão para páginas sujas sem serem atrasados, até que o sistema como um todo alcance o ponto de 15%.

    
por 17.11.2018 / 00:01