Ограничьте скорость записи жесткого диска пользователем в Linux

Самое удобное, которое, как я сказал бы, является sshfs.

3
задан 19 January 2012 в 02:34
3 ответа

Используйте cgroups вместе с планировщиком ввода-вывода CFQ (по умолчанию для многих дистрибутивов). CFQ знает о контрольных группах и может предоставить любому пользователю, группе или процессу только x% времени дискового ввода-вывода.

Итак, если у вас есть одна контрольная группа под названием sequenceGeek , имеющая 90% максимальных ресурсов, вы можете иметь другую контрольную группу под названием coworkers , имеющую 10% ресурсов. Или что-то подобное справедливо.

man cgrules.conf , man cgset и man cgconfig.conf должны помочь вам начать работу. По крайней мере, в Fedora 16, прямо сейчас не было времени проверить другие дистрибутивы, имеют ли они похожие имена файлов конфигурации. Вероятно, они это делают.

EDIT: О, только что заметил из ваших комментариев, что вы используете NFS. Тогда ваша сеть может быть перегружена, и вам нужно использовать QoS с tc и iptables . Google for Advances Linux Routing How-To , в нем есть готовые примеры регулирования трафика и создания классов приоритета. Или, если возможно, выполните регулировку на вашем брандмауэре / маршрутизаторе / балансировщике нагрузки.

Также может быть старая версия ядра, имеющая проблемы с NFS или неверные параметры монтирования NFS.

3
ответ дан 3 December 2019 в 06:15

Если вы не можете переместить курсор, я предполагаю, что ваш ЦП ожидает ввода-вывода в течение очень длительного времени. Вы можете проверить это, запустив верхнюю часть и посмотрев на количество, указанное в % wa вверху.

Контроллер blkio вышеупомянутых контрольных групп - это метод контроля количества ввода-вывода может делать кто-то или какая-то группа. Я сейчас немного тороплюсь, но если вы читаете документацию по ядру ( / usr / share / doc / kernel- / Documentation / cgroups ), я уверен, что вы » Обойдусь. Тем не менее, вам понадобится довольно свежее ядро, но я думаю, что подойдет все, что выше 2.6.32 (ядро EL6).

Вам необходимо настроить файл blkio.throttle.write_bps_device в файловой системе cgroups . При этом вместе с файлом / etc / cgconfig.

1
ответ дан 3 December 2019 в 06:15

Я не совсем уверен, но, прочитав немного из man limits.conf и предполагая, что вы root, я бы предложил добавить жесткие ограничения для чужих учетных записей на данные (максимальный размер данных), приоритет и хороший . Что-то вроде установки их лимитов ниже, чем у вас, а затем установки приоритета любого из запущенных вами приложений выше, чем они могут. Конечно, вам следует немного изучить и протестировать, прежде чем вносить какие-либо изменения, поскольку это может серьезно повлиять на их взаимодействие с пользователем.

Удачи.

0
ответ дан 3 December 2019 в 06:15

Теги

Похожие вопросы