Как настроить дроссели ввода-вывода на нескольких блочных устройствах в одной группе?

Я настроил свою систему для использования cgroups через cgroup-bin Пакет, который включает в себя несколько полезных утилит для монтирования и настройки подсистем cgroup. В моем /etc/cgconfig.confУ меня есть блок, подобный следующему:

group limitio {
  blkio {
    blkio.throttle.read_bps_device = "<maj:min> 10485760";
  }
}

Это работает. Тем не менее, у меня есть несколько устройств, которым я хочу управлять вводом / выводом. Итак, я попытался перечислить их с несколькими различными разделителями, но, похоже, ничего не работает.

Тогда я думал, что cgsnapshot сгенерируйте файл конфигурации для меня с настроенной вручную машины. Поэтому я попробовал следующее:

echo "<maj2:min2> 10485760" >> /path/to/limitio/blkio.throttle.read_bps_device

Обновление вручную работает, и я вижу 2 строки в /path/to/limitio/blkio.throttle.read_bps_device но следующая конфигурация, сгенерированная cgsnapshot -s, не работает.

group limitio {
  blkio {
    blkio.throttle.read_bps_device = "<maj1:min1> 10485760
    <maj2:min2> 10485760";
  }
}

Как сделать так, чтобы это работало более чем на одном блочном устройстве, не прибегая к созданию отдельных подгрупп?

Спасибо!

1 ответ

Вы можете повторить настройку для этого пространства имен с новым значением устройства:

# limits for device 1:1
group limitio {
  blkio {
    blkio.throttle.read_bps_device = "<maj1:min1> 10485760";
  }
}

# limits for device 2:2
group limitio {
  blkio {
    blkio.throttle.read_bps_device = "<maj2:min2> 10485760";
  }
}
Другие вопросы по тегам