ionice sem efeito

3

O sistema é Ubuntu 10 LTS 64bit (2.6.35.31), estou rodando no xen 4.0, nenhum serviço ativo, cron parado, scheduler é cfq para o disco / usr é montado de:

tempo find /usr -exec stat {} \; > /dev/null 2>&1 &

dando

real    0m35.760s
user    0m0.270s
sys 0m3.910s

e

tempo ionice -c3 find /usr -exec stat {} \; > /dev/null 2>&1 &

dando

real    0m36.110s
user    0m0.310s
sys 0m4.100s

que é exatamente como esperado, agora eu corro os dois ao mesmo tempo:

tempo find /usr -exec stat {} \; > /dev/null 2>&1 & hora ionice -c3 find /usr -exec stat {} \; > /dev/null 2>&1 &

onde eu acredito que a versão ionizada deve ser muito mais lenta, enquanto a versão reta deve ser tão rápida quanto se estivesse sozinha. mas:

direto:

real    1m10.430s
user    0m0.320s
sys 0m3.940s

ionizado:

real    1m10.230s
user    0m0.250s
sys 0m4.020s

que implica que a ionização não funcionou de todo. Alguma dica?

    
por tim 26.01.2012 / 15:41

2 respostas

3

Isso quase certamente não está funcionando porque você não está usando o agendador do kernel do CFQ.

Veja /sys/block/xvdh/queue/scheduler para ver qual você está usando. O colchete [] é o ativo.

Parece ser deadline na maioria dos sistemas, para os quais a ionização não funciona. (Isso tudo, até onde eu sei, está terrivelmente mal documentado).

    
por 06.06.2014 / 17:08
1

Como os dois processos estão solicitando os mesmos arquivos, o que chegar lá em segundo, os obterá do cache do sistema de arquivos. Como não está realmente movendo eixos, isso não é afetado por ionice .

    
por 26.01.2012 / 17:13

Tags