As configurações que controlam quantas páginas sujas podem acumular antes de serem gravadas no disco são controladas por o subsistema de memória virtual .
Para sistemas com muita RAM, eles geralmente precisam ser ajustados . Infelizmente , essas configurações são de todo o sistema. (Ugh, Linus.)
Veja as configurações atuais com:
sudo sysctl -a | grep vm.dirty
Na minha máquina:
vm.dirty_background_bytes = 0
vm.dirty_background_ratio = 5
vm.dirty_bytes = 0
vm.dirty_expire_centisecs = 3000
vm.dirty_ratio = 10
vm.dirty_writeback_centisecs = 500
Dê uma olhada na documentação para essas configurações . Na minha máquina, vm.dirty_ratio
está definido como 10 (ou seja, 10% de RAM). Isso significa que o cache de disco irá engolir até 10% x 64GB = 6.4GB
dos dados antes de gravá-los no disco .
Vou tentar ajustar essas configurações escrevendo o seguinte em meu /etc/sysctl.conf
:
vm.dirty_bytes = 67108864
vm.dirty_background_bytes = 1048576
vm.dirty_expire_centisecs = 30
vm.dirty_writeback_centisecs = 30
Vou atualizar essa resposta conforme aprendo mais, mas acho que essas configurações agressivas são adequadas para meu SSD, que tem seu próprio cache de gravação on-drive grande.