Eu tenho algumas máquinas virtuais executando a versão 14.04-1 LTS da imagem baseada em nuvem do Ubuntu. Eu queria ver o desempenho de IO de diferentes agendadores de IO na VM, então fui /sys/block/<drive>/queue/scheduler
ao sistema operacional convidado para alterar o agendador de IO. Normalmente, deve haver cfq
, deadline
ou noop
para escolher. Mas o que eu vi é none
. Isso significa que a Canonical removeu o agendador de E/S na imagem baseada em nuvem ou o agendador none
aqui é o agendador renomeado noop
? e o que acontece se não tivermos um agendador de E/S no sistema? Todas as solicitações io foram enviadas diretamente ao host na ordem FIFO?
Obrigado por lançar alguma luz!
Responder1
Agendador IO de baixa latência
(Esta etapa não é necessária para SSDs que usam o protocolo NVMe em vez de SATA, que ignora o agendador de E/S tradicional e usa o
blk-mq
módulo.)O agendador de E/S padrão enfileira dados para minimizar buscas em HDDs, o que não é necessário para SSDs. Portanto, use o
"deadline"
agendador que apenas garante que as transações em massa não atrasem as transações pequenas: Instalesysfsutils
eecho "block/sdX/queue/scheduler = deadline" >> /etc/sysfs.conf
(ajuste o sdX para corresponder ao seu SSD) reinicie ou
echo deadline > /sys/block/sdX/queue/scheduler
Então, a resposta é: none
NÃO é um apelido para noop
. none
significa "o agendador não é usado".
Responder2
Parece que nos kernels >= 3.13 none
não é mais um alias noop
. É mostrado quando oblk-mq
Estrutura de E/Sestá em uso; isso significa um desvio completo dos agendadores antigos, já blk-mq
que (no momento) não há nenhum agendador para selecionar.
Em kernels anteriores, none
é realmente um alias mal documentado para noop
. Veraquipara mais detalhes.
Responder3
None não é um apelido para noop.
Nenhum é exibido porque nenhum planejador está em uso. SSDs que usam o protocolo NVMe em vez de SATA ignoram o agendador de E/S tradicional.
Responder4
https://wiki.ubuntu.com/Kernel/Reference/IOSchedulers
none (Multiqueue) O agendador de E/S não operacional de múltiplas filas. Não faz reordenação de solicitações, sobrecarga mínima. Ideal para dispositivos de E/S aleatórios rápidos, como NVME.