Por que o Ubuntu 16.04 define todos os programadores de IO da unidade como “prazo final”?

15

Acabei de instalar o Xubuntu 16.04-64bit em uma segunda partição no meu laptop. Eu notei que parecia um pouco lento às vezes, então eu verifiquei qual programador IO estava usando para essa unidade, que acaba por ser deadline para todas as unidades. Eu tenho um par de SSDs e discos rígidos, então eu sei que "prazo" é melhor para SSDs e cfq para discos rígidos.

Eu iniciei em 14.04 em outra partição e ele está usando cfq para as unidades rotativas e deadline para o SSD, como deveria. Eu também procurei em /etc/udev/rules.d para ver se o 14.04 estava usando uma regra para configurar o tipo de drive, mas ele não estava lá, então presumo que o kernel esteja fazendo isso.

Então eu estou querendo saber se isso é um bug ou eles estão usando "prazo" para tudo agora?

Atualização: O comentário que escrevi sobre /etc/udev/rules.d foi um erro. Na verdade, tenho usado uma regra do udev para alterar o agendador (assim como a resposta abaixo) de acordo com o tipo de rotação desde que comecei a usar um SSD, alguns anos atrás. Eu acho que esqueci ... envelhecendo. De qualquer forma, uma das referências que usei foi o wiki de otimização de SSD da Debian .

Não seria uma boa ideia incluí-lo? Apenas uma sugestão!

    
por curt54 08.06.2016 / 15:10

3 respostas

4

Com o lançamento do 14.04, o agendador padrão para o kernel 3.13 foi alterado do CFQ para o Prazo .

Não existe mais um kernel de servidor separado e o sheduler CFQ não é adequado para muitos cenários de uso de servidor, por exemplo Tempos limite de gravação do KVM . Há até mesmo regressões de desempenho na área de trabalho com dispositivos USB .

    
por NGRhodes 11.06.2016 / 00:59
27

A equipe do Kernel do Ubuntu executa regularmente muitas análises de diferentes cargas de trabalho simuladas em diferentes sistemas de arquivos e agendadores de E / S para ter uma idéia da melhor opção genérica de agendador de E / S. A resposta geral é que não há uma opção perfeita de agendador de E / S para uma configuração genérica em todos os tipos diferentes de instalação para todos os diferentes tipos de mídia. Os pontos salientes a serem lembrados são:

  1. Os sistemas estão migrando para o SSD, portanto, noop ou prazo são os melhores para esses; noop tem menos sobrecarga de CPU do que o prazo final.

  2. O CFQ vs o prazo final é uma tarefa difícil. O CFQ permite uma maior flexibilidade. No entanto, descobrimos que, para uma gama mais ampla de operações de E / S simuladas, o prazo final fornece latências mais baixas e uma taxa de transferência ligeiramente maior do que a CFQ.

  3. Eu faço o benchmark de kernels regularmente (cada teste do kernel leva 3+ dias para ser concluído) para uma variedade de sistemas de arquivos e agendadores de I / O. A partir disso, e de outros dados variados, tentamos tomar uma decisão informada sobre a melhor escolha, consulte:

link

Existem prós e contras para todos os agendadores de E / S, portanto, qualquer padrão não é perfeito e a equipe do kernel do Ubuntu está sempre disposta a ter acesso à opção padrão se dados e motivos convincentes nos mostrarem alterações.

    
por Colin Ian King 08.06.2016 / 17:51
9

Eu não sei por que os desenvolvedores decidiram escolher deadline como agendador padrão, talvez seja porque a maioria dos novos computadores vêm com um SSD, no qual normalmente os sistemas são instalados. Você pode definir o agendador manualmente dessa forma, caso ainda não o tenha instalado ... instale gksu :

Abra um terminal e execute:

sudo apt install gksu  

Em seguida, execute este comando:

gksudo gedit /etc/udev/rules.d/60-schedulers.rules  

Cole o seguinte texto no arquivo vazio e salve o arquivo alterado.

# set cfq scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="cfq"

# set deadline scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"  

Reinicie o sistema operacional e agora você está usando os agendadores ideais para HDDs e SSDs.

    
por cl-netbox 08.06.2016 / 15:27