Ионис без эффекта

Система Ubuntu 10 LTS 64bit (2.6.35.31), я работаю на xen 4.0, службы не активны, cron остановлен, планировщик cfq для диска /usr смонтирован из:

время find /usr -exec stat {} \; > /dev/null 2>&1 &

дающий

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

а также

время ionice -c3 find /usr -exec stat {} \; > /dev/null 2>&1 &

дающий

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

что именно так, как и ожидалось, теперь я запускаю оба одновременно:

время find /usr -exec stat {} \; > /dev/null 2>&1 & время ionice -c3 find /usr -exec stat {} \; > /dev/null 2>&1 &

где, на мой взгляд, ионизированная версия должна быть намного медленнее, в то время как прямая версия должна быть такой же быстрой, как если бы она работала одна. но:

Прямо:

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

ioniced:

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

что подразумевает, что ionice не работал вообще. Есть намеки?

2 ответа

Решение

Это почти наверняка не работает, потому что вы не используете планировщик ядра CFQ.

смотреть на /sys/block/xvdh/queue/scheduler чтобы увидеть, что вы используете. Один в скобках [] является активным.

Это кажется deadline на большинстве систем сейчас, для которых ionice не работает. (Это все, насколько я могу сказать, это ужасно плохо задокументировано).

Поскольку оба процесса запрашивают одни и те же файлы, любой, кто попадет туда вторым, получит их из кэша файловой системы. Так как он на самом деле не движется шпинделей, на него не влияют ionice,

Другие вопросы по тегам