Фон :

Я попытался восстановить данные с неисправного жесткого диска, используя ddrescue в недавней среде Knoppix. Сначала я сохранил выходные данные в разделе NTFS, но в какой-то момент скорость копирования стала постоянно очень низкой (~ 600 КБ / с), и я прочитал на французском руководстве для этого инструмента, что восстановление в NTFS не рекомендуется, особенно для большой объем, как сообщалось, приведет к значительному замедлению. Затем я переключился на ext4, и производительность, казалось, значительно улучшилась. (См. Этот вопрос.)

Я заметил, что «размер на диске» для файлов выходных изображений, сгенерированных ddrescue, был намного меньше их фактического размера, что означает, что ddrescue каким-то образом только распределяет данные, которые были успешно прочитаны из ввода, что приводит к «частично разреженному» выводу , даже когда ключ -S («разреженные записи») не используется. В этом случае использование ключа -S приводит к тому, что пустые сектора, которые фактически считываются с входа, также нераспределяются на выходе, что делает его «полностью» разреженным. (Смотрите этот другой вопрос.)

Вопрос:

Как объяснить этот разрыв в производительности между NTFS и ext4? Это действительно связано с разреженностью? Известно ли, что драйвер NTFS в Linux имеет проблемы с работой с большими разреженными файлами?

1 ответ1

0

Для начала вы, вероятно, использовали NTFS-3G, которая реализована в пользовательском пространстве, а не в ядре. Это само по себе означает, что при использовании NTFS вы по крайней мере удвоили переключение контекста по сравнению с ext4.

Кроме того, я не могу особо комментировать, в чем может быть проблема, кроме упоминания о том, что, основываясь на моем собственном тестировании, NTFS, по-видимому, не очень эффективно обрабатывает разреженные файлы в LInux, используя NTFS-3G или ядро. родной драйвер (который почти никто не использует, потому что NTFS-3G имеет лучшую общую поддержку).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .