Por que usar o Scheduler:
Uma vez que os discos giratórios padrão gravam informações com base em lugares em um prato giratório, este é o caso. Ao acessar os 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 é conhecido como "busca" porque pode demorar muito mais em termos de cálculo. Os agendadores de I / O visam ajudá-lo a obter o máximo 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 “buscar” tanto quando as solicitações são agrupadas em partes adjacentes do disco, o que melhora o tempo médio de resposta para atividades operacionais do disco. Existem muitas soluções de agendador de I / O disponíveis nas arquiteturas Linux atuais. Qualquer um deles tem seu sistema para organizar os pedidos de acesso ao disco. Este artigo aprenderá como verificar o agendador atual em seu sistema e como alterá-lo enquanto trabalha no sistema operacional Linux.
Tipos de agendadores:
Parece haver 3 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 explicação de cada agendador:
- CFQ (cfq): o planejador padrão para muitas distros Linux; ele coorte solicitações simultâneas feitas por operações em uma série de pools por processo antes de alocar intervalos de tempo para usar o disco para cada fila.
- O agendador Noop (noop): É o agendador de I / O mais básico para o kernel Linux, baseado no princípio de pool FIFO. Este programador funciona bem para SSDs.
- Agendador de prazo (prazo): Este programador tenta garantir um período de início do serviço de solicitação.
Verifique o programador atual:
Antes de prosseguir, você deve saber sobre o agendador de I / O configurado em seu sistema Linux atual. No momento da implementação, estávamos usando o Ubuntu 20.04 sistema Linux, então nosso agendador será. É possível que seu sistema Linux tenha um agendador de E / S diferente configurado no sistema. Portanto, faça login em seu sistema Linux atual para tentar verificá-lo. Agora, inicie o shell do terminal usando a tecla 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 do shell de comando foi aberto, podemos começar a trabalhar nele. Em primeiro lugar, temos que fazer login como um usuário sudo no terminal para trabalhar de forma eficiente e sem interrupção. Então, digite o comando “su” no terminal para fazer o login. Irá pedir-lhe a palavra-passe da sua conta sudo para iniciar sessão 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 I / O de nosso sistema Linux. Como você sabe, atualmente estamos trabalhando no Ubuntu 20.04 sistema Linux para estar de acordo com ele, e temos que verificá-lo lendo o arquivo do planejador por meio de seu caminho. Então, temos que experimentar a instrução cat abaixo no terminal shell junto com a localização do arquivo via caminho e clicar no botão “Enter da máquina de escrever do seu computador.
# cat / sys / block / sda / queue / schedulerA imagem abaixo mostra a saída como “[mq-deadline] nenhum”, o que significa que nosso dispositivo tem um agendador de Deadline com várias filas. É uma adaptação específica do dispositivo Multiqueue do agendador de I / O de deadline. Um produto versátil sólido com baixo uso de CPU.
Observação: Você deve deixar claro que os agendadores de E / S de várias filas são os agendadores de E / S solitários oferecidos no Ubuntu Eoan Ermine 19.10, bem como precipitado.
Altere o Agendador de I / O:
Se um usuário do sistema Linux deseja alterar seu agendador de I / O para “Kyber,” eles devem primeiro instalar o pacote “kyber” em seu sistema Linux nas duas etapas abaixo. Deve-se executar o comando sudo abaixo com a palavra-chave “modprobe” com o nome de um agendador como “kyber-iosched.”
# sudo modprobe kyber-iosched
A segunda etapa é executar o mesmo comando “cat” mencionado em um dos comandos acima para instalá-lo.
# cat / sys / block / sda / queue / scheduler
Agora o “kyber” foi configurado com sucesso. Agora você pode habilitar o “kyber” usando o comando do agendador “echo” abaixo junto com as palavras-chave “sudo” e “tee” com o caminho de um agendador anexado a ele. A imagem de saída está apresentando o programador habilitado “kyber.”
# echo “kyber” | sudo tee / sys / block / sda / queue / scheduler
A saída abaixo mostra que o “kyber” foi definido como padrão.
# cat / sys / block / sda / queue / scheduler
Para alterar o agendador para o agendador “bfq”, instale-o usando o comando abaixo.
# sudo modprobe bfq
Agora execute o mesmo comando “cat”.
# cat / sys / block / sda / queue / scheduler
Agora que o “bfq” foi instalado, habilite-o usando o mesmo comando “echo”.
# echo “bfq” | sudo tee / sys / block / sda / queue / scheduler
Verifique o programador “bfq” padrão por meio do comando “cat”.
# cat / sys / block / sda / queue / scheduler
Conclusão:
Este artigo do tutorial cobriu uma maneira simples de alterar o agendador de E / S usando dois agendadores diferentes. Discutimos porque o sistema deseja alterar seu programador, espero que funcione para você.