Isso soa como um tópico bem conhecido (por exemplo, veja O problema pernicioso da paralisação da memória USB e Para escrever o writeback de fundo menos irritante no LWN), mas infelizmente você não nos contou sobre as versões do software no seu sistema (por exemplo, a versão do kernel) por isso é Vai ser difícil dizer algo muito específico para a sua situação. Eu nunca soube que o write-back excessivo causava OOMs (ao contrário, resultou em pouca capacidade de resposta para mim). Para verificar se era realmente todo o write-back relacionado (ao contrário da memória cache que poderia ser facilmente descartada em uma situação OOM), você precisaria monitorar as linhas Dirty e Writeback em /proc/meminfo
e observar atentamente o estado da memória mostrada no Splat OOM.
Geralmente, isso deve ser um problema menor nos novos (no momento em que escrevo) os kernels porque as medidas foram introduzidas para executar o write-back dinâmico afogamento em 4.10 (mas observe que write-back a limitação é desabilitada por padrão se você estiver usando o agendador de E / S CFQ em 4.12+ ).
No fim manual do espectro, Chris Siebenmann descobriu que sintoniza o dirty_background_bytes
e dirty_bytes
manteve sua máquina responsiva ao gravar em unidades USB . Esses valores residem em /proc/sys/vm
e são mencionados junto com outros no artigo de suspensão do USB-stick do LWN vinculado anteriormente (veja também as respostas em Limite Linux background flush (páginas sujas) para discussão sobre esta técnica). Esteja avisado: configurar esses valores incorretamente pode prejudicar a taxa de transferência.