Вы копируете много чего одновременно, и производительность компьютера просто падает. Попробуйте, например, скопировать 10+ образов ISO одновременно.
Есть QoS в сети, сходства и приоритеты в процессорах, но есть ли что-нибудь для жестких дисков, чтобы ограничивать очереди ввода-вывода? Виртуальные файловые системы? Драйверы ОС?
Конечно, вы можете обойти это, например,
Приветствуются решения Windows и GNU / Linux.
Для Linux есть ionice, Windows имеет Приоритеты ввода-вывода с некоторого времени, но, по крайней мере, с Vista, он также полностью доступен в разумной реализации для рабочих станций.
На более низком уровне Linux (и я предполагаю, что Windows, * BSD и все остальное серьезно используется) имеет планировщик ввода-вывода, который пытается сбалансировать наилучшее общее использование каждого устройства с обеспечением хорошего обслуживания для каждого процесса. Текущий планировщик Linux по умолчанию известен как Полностью справедливая организация очереди, с текущими общедоступными альтернативами, называемыми Предвосхищающий и Крайний срок.
В некотором роде примечание, программа iotop полезен для мониторинга и изучения того, что происходит в системе при большой нагрузке ввода-вывода.
ionice работает только с планировщиком CFQ, который обычно используется по умолчанию. Если вы используете другой планировщик или ionice не выполняет работу за вас, вы можете периодически приостанавливать выполнение, чтобы ваши буферы io очищались. Вот сценарий, который мы используем для этого:
#!/bin/sh
# Throttles the execution of a process by stoping it after every second of
# execution time
#
# Usage: io_nice <sleeptime> <pid>
# Where "sleeptime" is the number of seconds of sleep for each second of runtime
# and "pid" is the process ID of the process to throttle
PID=$2
SLEEPTIME=$1
while [ true ]; do
kill -s STOP $PID &> /dev/null|| exit 0
sleep $SLEEPTIME
kill -s CONT $PID &> /dev/null || exit 0
sleep 1
done
Интересно, что недавно были разговоры о реализации QoS для блочных устройств на LKML.
На всегда отличном LWN.net есть хорошая статья: Поддержка биодросселирования блокирующих устройств [V3]
в Linux ionice позволяет расставить приоритеты ввода-вывода, но этого не хватает. есть dm-ioband который должен быть намного мощнее; но я все еще не чувствую себя комфортно с документами ....