Como e quando alterar o Agendador de E/S no Linux

Como e quando alterar o Agendador de E/S no Linux
O agendador de E/S é um tópico fascinante; Anteriormente, entramos em como e quando ajustar o agendador de E/S; Vamos ter uma compreensão mais profunda do que os agendadores de E/S fazem. Um agendador de E/S Linux governa como o kernel se compromete, lê e escreve para o disco. Os executivos têm sido capazes de ajustar o sistema de agendamento desde cerca de 2.6 kernels, permitindo que eles adaptem suas estruturas aos seus requisitos exatos. Pensa -se que a acessibilidade ao disco tem sido o meio relativamente lento de acesso a dados. Apesar da crescente prevalência de flash e espaço de estado sólido, a recuperação de dados do disco é lenta do que coletar informações da RAM. Isso é particularmente válido se a estrutura for baseada em discos giratórios.

Por que usar o agendador:

Como os discos de spinning padrão escrevem informações com base em lugares em um prato rotativo, esse é o caso. Ao acessar dados de um disco giratório, a unidade real deve girar os pratos para uma posição específica para que as informações possam ser lidas. Isso é chamado de "busca" porque pode levar muito mais tempo em termos de computação. Os agendadores de E/S pretendem ajudá -lo a tirar o máximo proveito de suas permissões de acesso ao disco. Costumávamos fazer o mesmo combinando transações de E/S e enviando -as para locais de disco vizinhos. A unidade nem precisa "procurar" tanto quando os pedidos são agrupados em partes adjacentes do disco, o que melhora o tempo médio de resposta para atividades operacionais do disco. Existem muitas soluções de programação de E/S disponíveis nas arquiteturas atuais do Linux. Qualquer um deles possui seu sistema para organizar solicitações de acesso ao disco. Este artigo aprenderá como verificar o agendador atual em seu sistema e como alterar seu agendador enquanto trabalha no sistema operacional Linux.

Tipos de agendadores:

Parece haver três tipos de agendadores para escolher, cada um com seu próprio conjunto de vantagens no sistema operacional Linux. Então, aqui está a lista e a explicação de cada agendador:

  • CFQ (CFQ): o agendador padrão para tantas distritos Linux; Ele coorta solicitações simultâneas feitas pelas operações em uma série de pools por processo antes de alocar as lixas de tempo para usar o disco para cada fila.
  • O Scheduler Noop (NOOP): É o agendador de E/S mais básico para o kernel Linux, construído no princípio da piscina do FIFO. Este agendador funciona bem para SSDs.
  • Agendador de prazo (prazo): Este agendador tenta garantir um período de serviço de início de solicitação.

Verifique o agendador atual:

Antes de seguir em frente, você deve saber sobre o agendador de E/S configurado em seu sistema Linux atual. No momento da implementação, usamos o Ubuntu 20.04 Sistema Linux, então nosso agendador será. Pode ser possível que seu sistema Linux tenha um agendador de E/S diferente configurado no sistema. Então, faça login no seu sistema Linux atual para tentar verificar. Agora, inicie o shell do terminal usando a chave de atalho simples, “Ctrl+Alt+T.”Você pode tentar abrir o shell do terminal usando a área da barra de atividades em seu desktop Linux. Agora, o terminal de comando-shell foi aberto, podemos começar a trabalhar nele. Primeiro de tudo, temos que fazer login como usuário sudo do terminal para trabalhar com eficiência e sem interrupção. Então, digite o comando "su" no terminal para fazer login. Ele solicitará sua senha da sua conta sudo para fazer login a partir dela. Digite a senha da conta sudo e pressione a tecla "Enter" da sua máquina de escrever.

$ su

Agora, é hora de verificar e identificar o agendador de E/S do nosso sistema Linux. Como você sabe, atualmente, estamos trabalhando no Ubuntu 20.04 Sistema Linux para estar de acordo com ele, e temos que verificar lendo o arquivo do agendador por meio de seu caminho. Então, temos que experimentar a instrução CAT abaixo no terminal do shell junto com o local do arquivo por caminho e pressionar o botão “Enter -se da máquina de escrever do seu computador.

# gato/sys/bloco/sda/fila/agendador

A figura abaixo mostra a saída como "[MQ-Deadline] Nenhum", o que significa que nosso dispositivo tem um programador de prazo para vários produtos. É uma adaptação específica para dispositivos multiqueue do programador de E/S de prazo final. Um sólido versátil com baixo uso da CPU.

Observação: Você tem que deixar sua mente clara que os programadores de E/S de vários produtos são os agendadores solitários de E/S oferecidos no Ubuntu Eoan Ermine 19.10, bem como de cabeça.

Altere o agendador de E/S:

Se um usuário do sistema Linux quiser alterar seu agendador de E/S para "Kyber" Eles precisam primeiro instalar o pacote "Kyber" em seu sistema Linux nas duas etapas abaixo. É preciso ter que executar o comando sudo abaixo com a palavra-chave "ModProbe" com o nome de um agendador como "Kyber-Iiosched.”

# sudo modprobe kyber-sochedado

A segunda etapa é executar o mesmo comando "gato" mencionado em um dos comandos acima para instalá -lo.

# gato/sys/bloco/sda/fila/agendador

Agora o "Kyber" está configurado com sucesso. Agora você pode habilitar "Kyber" usando o comando do agendador "eco" abaixo, juntamente com as palavras -chave "sudo" e "tee" com o caminho de um agendador anexado a ele. A imagem de saída está apresentando o agendador ativado “Kyber.”

# eco “Kyber” | sudo tee/sys/bloco/sda/fila/agendador

A saída abaixo está mostrando que o "Kyber" foi definido para padrão.

# gato/sys/bloco/sda/fila/agendador

Para alterar o agendador para o agendador "BFQ", instale -o usando o comando abaixo.

# sudo modprobe bfq

Agora execute o mesmo comando "gato".

# gato/sys/bloco/sda/fila/agendador

Agora, o "BFQ" foi instalado, habilitando -o usando o mesmo comando "Echo".

# echo “BFQ” | sudo tee/sys/bloco/sda/fila/agendador

Verifique o agendador "BFQ" padrão através do comando "CAT".

# gato/sys/bloco/sda/fila/agendador

Conclusão:

Este artigo do tutorial abordou uma maneira simples de alterar o agendador de E/S usando dois agendadores diferentes. Discutimos por que o sistema quer mudar seu agendador, espero que funcione para você.