Могу ли я симулировать медленный жесткий диск?

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

Если не считать простое поглощение ввода-вывода с процессом с высоким приоритетом, могу ли я каким-то образом симулировать медленный жесткий диск?

19
задан 13 April 2017 в 15:25

10 ответов

Используйте nbd , Сетевое блочное устройство, а затем ограничьте скорость доступа к нему, скажем, trickle.

sudo apt-get install nbd-client nbd-server trickle
0
ответ дан 13 April 2017 в 15:25

Есть USB-концентратор 1.1? Или медленная SD-карта? Они снизят скорость до 10 Мбит / с.

0
ответ дан 13 April 2017 в 15:25

Это ни в коем случае не полное решение, но оно может помочь в сочетании с другими мерами: существует планировщик ввода-вывода во многом как планировщик процесса, и его можно настроить.

Прежде всего можно на самом деле выбрать среди различных планировщиков:

~# cat /sys/block/sda/queue/scheduler 
noop anticipatory deadline [cfq] 
~# echo "deadline" > /sys/block/sda/queue/scheduler
~# cat /sys/block/sda/queue/scheduler 
noop anticipatory [deadline] cfq 
~# 

deadline может помочь Вам получить более решительно восстанавливаемые результаты.

noop, поскольку его имя подразумевает, является безумно немым, и позволит Вам разрушить абсолютное опустошение на производительности ввода-вывода с небольшим усилием.

anticipatory и cfq обе попытки быть умным об этом, хотя cfq обычно более умные из двух. (Как я вспоминаю, anticipatory на самом деле планировщик прежней версии от прямо, прежде чем ядро начало поддерживать несколько планировщиков.)

3
ответ дан 13 April 2017 в 15:25

Вы можете попробовать запустить копию большого файла, такого как iso установочного диска Ubuntu, и запустить его дважды. Это должно немного замедлить ваш диск.

0
ответ дан 13 April 2017 в 15:25

Вы можете использовать виртуальную машину и доступ к дроссельной заслонке ... вот несколько советов о том, как это сделать в Virtualbox 5.8. Ограничение пропускной способности для образов дисков https://www.virtualbox.org/manual/ch05.html#storage-bandwidth-limit

0
ответ дан 13 April 2017 в 15:25

Помимо попыток замедлить сам жесткий диск, вы можете попробовать использовать инструменты сравнения файловой системы, такие как bonnie ++ , которые могут вызвать значительный дисковый ввод-вывод.

sudo apt-get install bonnie++
0
ответ дан 13 April 2017 в 15:25

Почему бы не запустить iotop и посмотреть, не вызывает ли процесс, который вы пытаетесь отладить, много операций чтения / записи на диск?

0
ответ дан 13 April 2017 в 15:25

Я недавно выяснил установку, где я имею

  • , переместил каталог в мой , Google Drive
  • смонтировал, что это через super-duper-slow клиент google-drive-ocamlfuse
  • создало символьная ссылка от первоначального тракта до нового

, Если задержка 16 секунд не является достаточно медленной, можно просто отключить маршрутизатор.

Для ссылки, вот исходный вариант использования, где я получил идею для этого: https://github.com/goavki/apertium-apy/pull/76#issuecomment-355007128

0
ответ дан 13 April 2017 в 15:25

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

0
ответ дан 13 April 2017 в 15:25
# echo 1 > /proc/sys/vm/drop_caches

Это замедлит вас:)

Это заставит вас читать с диска вместо использования кэшированной страницы.

Если вы действительно хотите получить изощренную информацию, вы можете делать что-то вроде фальшивой ошибки чтения каждый раз, используя среду инжекции ошибок scsi.

http://scsifaultinjtst.sourceforge.net/

0
ответ дан 13 April 2017 в 15:25

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

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