Лучше ли переформатировать жесткий диск в exFAT, используя фрагменты по 512 КБ или фрагменты поменьше или побольше?

Лучше ли переформатировать жесткий диск в exFAT, используя фрагменты по 512 КБ или фрагменты поменьше или побольше?

Я могу переформатировать новый диск WD Passport емкостью 2 ТБ в exFAT, выбрав один из следующих «Размеров единицы распределения»:

128kb
256kb
512kb
1024kb
4096kb
16384kb
32768kb

какой из них лучше всего подойдет, если этот привод в основном используется для записи программ HDTV с помощью Media Center в Windows 7? спасибо.

Это связано с вопросом: Лучше ли переформатировать внешний жесткий диск в exFAT для совместимости с Mac?

решение1

Сначала вы должны понять, что

Размер единицы распределения (AUS)

означает.

Это наименьший блок данных на диске. Ваши фактические данные будут разделены на блоки этого размера при сохранении на диск. Например, если у вас есть файл размером512КБи у вас есть128КБразмер единицы распределения, ваш файл будет сохранен в4 единицына диске (512КБ/128КБ).

Если размер вашего файла500КБи у вас есть128КБ Австралия, ваш файл будетвсе еще может быть сохранено в 4 единицахна диске, поскольку, как упоминалось выше, 128 КБ — это наименьший размер единицы распределения.384 КБ будут выделены в 3 блоках, оставшиеся 116 КБ будут выделены в последнем блоке, а 12 КБ этого блока будут пустыми.. Вы можете наблюдать это поведение в диалоговом окне свойств файла в Windows; размер вашего файла и то, сколько места этот файл фактически занимает на диске, — это две разные концепции. Операционная система считывает только данные, соответствующие размеру единицы распределения, при низкоуровневой операции чтения с диска.

При этом использование большого AUS значительно снижает использование свободного пространства из-за того, что последняя единица распределения не используется полностью. И как побочный эффект, количество файлов для хранения на диске уменьшается из-за той же проблемы: последняя AU не используется полностью. Но вот компромисс: использование большого AUS значительно повышает производительность чтения с диска. ОС может считывать больше данных за одно чтение. Представьте, что ОС нужно сделать всего пару чтений с диска, чтобы полностью прочитать файл размером в ГБ!

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

Итак, какой вывод? Если вы будете хранить большие (именно большие!) файлы на диске, более высокий AUS даст ощутимый прирост производительности чтения, одновременно уменьшая количество файлов и свободное пространство.

Какой AUS вам следует использовать? Это зависит от того, какой у вас средний размер файла. Также вы можете рассчитать использование свободного пространства в соответствии с размерами ваших файлов.

решение2

Учитывая, что HD-записи — это большие файлы, большая единица распределения (16384 или 32768 КБ) обеспечит лучшую производительность. Влияние неиспользуемого пространства (пространства, которое тратится впустую из-за неиспользования единиц распределения — файлы хранятся в единицах распределения, которые должны использоваться как целые единицы) будет ограничено небольшим количеством файлов. С другой стороны, если у вас много файлов меньшего размера, используйте меньшую единицу распределения, чтобы сократить неиспользуемое пространство.

решение3

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

Пример: для моего случая с множеством мелких файлов (чуть более 1 миллиона файлов общим объемом 74 ГБ):

  1. Размер кластера 8 КиБ-->82 ГБ дискового пространстваизрасходовано 74 ГБ моих данных.
    1. 338 МБскорость письма
  2. Размер кластера 128 КБ-->194 ГБ дискового пространстваизрасходовано для моих же 74 ГБ данных
    1. 390 МБскорость письма
  3. Размер кластера 32 МБ-->32768 ГБ (32,8 ТБ) (нет! не ошибка) дискового пространстваизрасходовано 74 ГБ моих данных.
    1. 428 МБскорость письма

Значения по умолчанию для размера кластера Microsoft также составляют 128 КиБ. См. таблицу в конце моего ответа от Microsoft.

Изучите эти графики, которые я тщательно сделал. Тенденции верхнего левого графика применяются независимо от того, сколько у вас маленьких файлов, как я делал эти тесты, синхронизируя файл размером 5,3 ГБ с внешним SSD exFAT, но остальные три графика усугубляются количеством моих маленьких файлов. Логарифмически линейный тренд в правом нижнем углу применим ко всем, но его наклон и, следовательно, значения оси Y зависят от того, сколько у вас маленьких файлов.

введите описание изображения здесь

Если интересно, на моем сайте есть полная статья по этому поводу:https://gabrielstaples.com/exfat-clusters/

Полный код построения графиков Python matplotlib/numpy находится здесь:https://github.com/ElectricRCAircraftGuy/eRCaGuy_hello_world/blob/master/stack_exchange/format_exFAT_PLOTS.py


Я не отвечаю на вопрос OP о "записи программ HDTV". Я отвечаю за людей с большим количеством мелких файлов, включая полное резервное копирование диска, так как они наверняка тоже попадут на эту страницу.


Я бы выбрал наименьшую возможную единицу распределения, если у вас много маленьких файлов. Это позволяет избежать траты места на маленькие файлы.Пример: используйте размер единицы распределения 4 КиБ в exFAT вместо 128 КиБ.

Я только что сделал резервную копию74 ГБданных из файловой системы Apple APFS на внешний SSD с файловой системой exFAT сРазмеры блока распределения 128 КБ(по умолчанию, по-видимому, при форматировании в exFAT с помощью Gnome Disks в Linux Ubuntu), а на внешнем диске,ранее-74 ГБданных в файловой системе APFS теперь занимает колоссальный объем194 ГБна файловой системе exFAT! Это безумие! Это2.62xбольше места занято зря!

Это потому, что у меня есть тысячи и тысячи маленьких файлов, которые, например, всего лишь пару сотенбайты. На старом диске с файловой системой APFS они бы занимали один512 байткластера, а на новом внешнем диске с файловой системой exFAT те же самые 90-байтовые файлы занимают колоссальный объем128 КБкластер, который 128KiB * 1024 bytes/KiB / 512 bytes=в 256 раз большеТребуемое дисковое пространство на диске exFAT для маленьких файлов. Уменьшение этого блока распределения в 128 КБ до всего лишь 4 КБ, например, займет 128/4 =В 32 раза меньше места!

Смотрите также

  1. Мой ответ:Unix и Linux: создание и форматирование раздела exFAT в Linux- Я показываю команды как для Linux Ubuntu 20.04 с mkexfatfs, так и для Linux Ubuntu 22.04 с mkfs.exfat.

  2. Мой ответ на вопрос, как определить размер кластера любой файловой системы:Ошибка сервера: как узнать размер кластералюбойфайловая система, будь то NTFS, Apple APFS, ext4, ext3, FAT, exFAT и т. д.

  3. [ДЕЙСТВИТЕЛЬНО ПОЛЕЗНО]Support.Microsoft.com: Размер кластера по умолчанию для NTFS, FAT и exFAT:

    Размеры кластера по умолчанию для exFAT

    В следующей таблице описаны размеры кластеров по умолчанию для exFAT.

    Размер тома Windows 7, Windows Server 2008 R2, Windows Server 2008,
    Windows Vista, Windows Server 2003, Windows XP
    7 МБ–256 МБ 4 КБ
    256 МБ–32 ГБ 32 КБ
    32 ГБ–256 ТБ 128 КБ
    > 256 ТБ Не поддерживается

решение4

По сути, чем больше файлы вы собираетесь хранить, тем больший размер каждой единицы распределения вы можете захотеть использовать - но не слишком большой и не слишком маленький! Я думаю, DragonLord объяснил это довольно хорошо.

Так что если вас раздражает пустая трата места, то, возможно, вам стоит подумать об использовании другой файловой системы. Возможно, что-то вроде EXT4. Проблема в том, что ОС Microsoft (на самом деле Windows) не слишком хорошо работают ни с чем, кроме FAT (vFAT, FAT32 и т. д.) или NTFS. И если у вас когда-нибудь появятся файлы размером больше 4 ГБ, вы можете проклясть любую систему типа FAT, которую вы используете. Поэтому я бы рекомендовал использовать файловую систему NTFS с рекомендуемым размером единицы распределения (я думаю, это 4 КБ). Таким образом, если у вас появятся файлы размером больше 4 ГБ, вы все равно сможете хранить свои огромные файлы, по крайней мере, до тех пор, пока вы не сможете разбить их или перекодировать во что-то меньшее. (Я предполагаю, что мы говорим об огромных мультимедийных файлах, поэтому я и упоминаю «транскодирование», поскольку я, кажется, всегда нахожу способы уменьшить файлы при транскодировании, особенно если они были записаны с помощью MCE.)

Единственная причина, по которой я вижу использование FAT (vFAT, FAT32, FAT16 и т. д.), заключается в том, что другие операционные системы могут читать/писать файлы на устройстве хранения. FAT является настолько общепринятой, насколько это вообще возможно. В противном случае я не рекомендую использовать FAT (если только емкость устройства не составляет 4 ГБ или меньше) — используйте NTFS, по крайней мере, для Windows. Вы всегда можете создать другой раздел с другой файловой системой, даже если он находится на том же физическом диске. Надеюсь, это поможет.

Связанный контент