O Linux congela durante a carga de E / S [fechado]

1

Eu uso o Linux Mint com o Dell XPS 15 como laptop de trabalho e construo um grande aplicativo Android usando gradle.

Com todas as otimizações, ele ainda usa quase toda a RAM disponível (16 GB) e começa a usar o SWAP do swapfile (talvez eu deva usar a partição swap no lugar?). Isso causa uma alta taxa de E / S e o Cinnamon (e todos os outros aplicativos) tem congelamentos.

Além disso, tentei testar, que a E / S é um dos motivos desses problemas e descobri que executar o comando dd para criar carga em meu sistema de E / S também causa os mesmos problemas. (Eu não consegui reproduzir esse comportamento no Mac OS, por exemplo)

Descobri que eu deveria alterar o tipo de agendador de E / S para deadline , mas meu arquivo /sys/block/nvme0n1/queue/scheduler contém apenas a opção none . E, pelo que entendi, significa que o framework link é usado e eu deveria para mudar alguma coisa.

Pergunta: Como posso resolver esses congelamentos durante a carga de E / S? Talvez, que métricas devo analisar para obter mais informações?

Ambiente:

OS: Linux Mint 18.3 Cinnamon 64-bit
Cinnamon: 3.6.7
Linux Kernel: 4.13.0-38-generic
    
por Дима Меркурьев 18.04.2018 / 23:23

1 resposta

0

With all optimizations it still uses almost all available RAM (16 GB)

- quem? Normalmente, todo sistema operacional de propósito geral projetado desde a década de 1970 usa toda a RAM disponível ou sua grande parte para armazenamento em cache de conteúdo de armazenamento lento intensamente. Se ele significa cache da VM , quais problemas existem? Execute free -m e estude sua saída, ele costumava ter uma indicação especial de "+/- cache / buffers", insinuando que não é irrevogável, o cache diminuiria se houvesse pressão de memória .

É um equívoco bastante típico que um novato teria…

I found that I should change I/O scheduler type to deadline

Os agendadores estão disponíveis para dispositivos lentos, como os HDDs. Com SSDs / NVME é apenas uma sobrecarga extra - você não precisa ter fila para solicitações porque não há ganho em reordená-las - ao contrário dos HDDs, onde desempenha um papel importante na redução dos tempos de busca.

How I can solve these freezes during I/O load?

Não há leitores de mentes aqui ( sendo uma exceção eu prefiro manter meu talento escondido para que outros sejam salvos da inveja ), dd pode ser executado de maneiras diferentes, por que você não adicionar um snippet mostrando exatamente como foi executado?

S. Geralmente eu posso aconselhar a atualização do kernel, porque poderia ser uma peculiaridade específica do driver que foi (ou não) resolvida.

    
por 20.04.2018 / 11:39