Почему dd так медленно работает на NVMe SSD?

Размер файловой системы хранится в файловой системе. (Для большинства файловых систем. Я думаю, потому что он определяет размер таких структур, как FAT или растровые изображения свободного пространства ).

Я не верю, что существует универсальный инструмент, просто он не так часто нужен. Но isosizeсообщит размер файловой системы ISO9660. У меня есть ощущение, что этот инструмент предоставляется потому, что CDROM или, может быть, просто CD -R имеют привычку возвращать ошибки ввода-вывода в конце или после него.

2
06.05.2020, 08:48
2 ответа

Я провел несколько тестов на своей довольно старой рабочей станции (Lenovo Thinkstation C30 ), где есть диск NVME, твердотельный накопитель SATA -и жесткий диск SATA.

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

Диск NVME:

sudodus@bionic64 /mnt/sd1 $ time ( sudo dd if=/dev/zero of=test.img bs=1M count=8000 status=progress ; sync )
7480541184 byte (7,5 GB, 7,0 GiB) kopierade, 4 s, 1,9 GB/s
8000+0 poster in
8000+0 poster ut
8388608000 byte (8,4 GB, 7,8 GiB) kopierade, 4,86151 s, 1,7 GB/s

real    0m9,243s
user    0m0,014s
sys 0m3,921s

SATA -Твердотельный накопитель:

sudodus@bionic64 /tmp $ time ( sudo dd if=/dev/zero of=test.img bs=1M count=8000 status=progress ; sync )
8384413696 byte (8,4 GB, 7,8 GiB) kopierade, 11 s, 762 MB/s
8000+0 poster in
8000+0 poster ut
8388608000 byte (8,4 GB, 7,8 GiB) kopierade, 11,0025 s, 762 MB/s

real    0m25,841s
user    0m0,023s
sys 0m3,894s

SATA -Жесткий диск:

sudodus@bionic64 /media/multimed-2/test/test0/temp $ time ( sudo dd if=/dev/zero of=test.img bs=1M count=8000 status=progress ; sync )
8296333312 byte (8,3 GB, 7,7 GiB) kopierade, 18 s, 461 MB/s
8000+0 poster in
8000+0 poster ut
8388608000 byte (8,4 GB, 7,8 GiB) kopierade, 18,3536 s, 457 MB/s

real    0m50,050s
user    0m0,024s
sys 0m3,566s

Расчет скорости:

$ bc
...
scale=0
8000/9.243
865
8000/25.841
309
8000/50.050
159

Сводка реальной скорости записи в МиБ/с

NVME: 865
SSD:  309
HDD:  159

Таким образом, можно сделать вывод, что скорость записи на диски NVME и SSD намного ниже теоретической. Надо сделать вывод, что узких мест, ограничивающих скорость, может быть несколько, не только само устройство.

Я бы не стал осуждать dd, я думаю, есть и другие узкие места. Но мне кажется, что ваша скорость записи 220 МБ/с слишком мала для вашего NVME SSD. (Подозреваю, что второй результат, 1,4 ГБ/с, можно отбросить, так как он показывал только скорость записи в ОЗУ, но не включал очистку буферов.)

Возможно, вы можете проверить скорость записи на ваш диск NVME,когда загружались в режиме реального времени с нескольких разных новых дистрибутивов/версий Linux. Возможно, новое ядро ​​Linux имеет более быстрые драйверы для вашего оборудования.

Кстати, какая файловая система у вас на диске NVME? Linux лучше всего работает с файловыми системами Linux (, например, ext4 ).

2
28.04.2021, 23:16

Флэш-носители NAND, такие как твердотельные накопители, имеют минимальный размер стираемого блока, а это означает, что если вы ddхраните на них данные с меньшим размером блока, контроллеру твердотельного накопителя приходится несколько раз стирать блоки для записи в позиции внутри блока. Если минимальный размер стираемого блока равен 4M, 1M означает, что блок должен быть перезаписан в 4 раза больше, чем необходимо. SSD должен будет стереть один и тот же блок 4M 4 раза.

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

Я ссылаюсь на отличный ответ @greg -kennedy для получения дополнительной информации и скрипт для определения минимального размера блока стирания , который следует использовать как dds значение размера блока для оптимальной производительности.

Иногда вы можете найти его также в спецификациях устройства или прочитать /sys/class/mtd/mtdx/erasesize, в зависимости от конкретного устройства.

3
28.04.2021, 23:16

Теги

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