Я прочитал на странице Википедии HFS Plus, что размер сектора по умолчанию на Mac составляет 512 б. Тем не менее, я также читал, что Mac поддерживают секторы 4 КБ. Как я могу определить, какие у меня есть сектора 512 б или 4 кб? Я думаю, что 512 правильный ответ, но я хотел бы быть уверен.
hard-drive
disk-utility
dual-boot
hfs+
kalaracey
источник
источник
Во-первых, обратите внимание, что размер блока устройства отличается от размера блока, используемого файловой системой. Первое значение, сообщаемое diskutil, относится к необработанному размеру блока, используемому оборудованием. Я не нашел простой способ проверить последнее значение с помощью командной строки, но вы можете просто создать файл нулевого байта, а затем получить информацию из Finder. Он скажет 0 байтов, но 4k используется на диске.
Во-вторых, вы можете создать файловую систему HFS + с размерами блоков более 4 Кб с помощью программы командной строки
newfs_hfs
. Самый простой способ - использовать Дисковую утилиту для разбиения диска и создания раздела с форматированием по умолчанию, а затем использовать/bin/df
для определения блочного устройства (только пример:)/dev/disk0s2
. Затем размонтируйте этот раздел (используяumount /dev/diskXXX
или Дисковую утилиту) и переформатируйте в HFS + с блоками по 64 КБ:Используйте приведенный выше совет Get Info, чтобы убедиться, что небольшой файл теперь занимает 64 КБ на диске (может быть 65 КБ для модулей с степенью 10).
Производительность - это основная причина, по которой вы можете захотеть сделать это, если большая часть данных, которые будут храниться, представляют собой большие файлы (такие как MP3, фото, видео, файлы .zip и т. Д.), А также помогает поддерживать низкую фрагментацию диска. Очевидно, не беспокойтесь, если вы планируете хранить в основном небольшие файлы.
Я обнаружил, что на больших дисках (> 1 ТБ), отформатированных как HFS с размером блока 4 КБ по умолчанию, когда диск приближается к емкости, производительность записи ужасно снижается. Я предполагаю, что это происходит из-за фрагментации раздела и необходимости искать и клевать свободные блоки, чтобы выписать последние 1% данных. Я надеюсь, что большие размеры блоков несколько облегчат эту проблему.
источник
stat -f %k .
.diskutil info
иногда будет сообщать вам размер блока выделения:Allocation Block Size: 32768 Bytes
а также Размер блока устройства. Я обнаружил, что это правда при использовании необработанного устройстваrdisk2s0
с SD-картой в картридере. Я не знаю, как заставить это работать на жестком диске.Размер блока устройства OS X можно определить, выполнив следующую команду из окна терминала:
Который выведет следующую информацию:
Размер блока файловой системы можно определить с помощью
stat
утилиты:Который покажет вам оптимальный размер блока операций ввода-вывода файловой системы в байтах:
источник
В более старой файловой системе HFS, второй попытке Apple создать файловую систему для Macintosh, на диске может быть только до 65 535 блоков выделения. Размер блока был функцией размера диска в байтах, разделенного на максимальное количество блоков выделения, 65 535. Для небольших дисков это было хорошо, но когда размеры дисков начали приближаться к 1 ГБ, минимальный размер блока выделения составил 16 КБ (1073741824/65535) = 16384,25, но вам нужно сократить до 16384.
Это означает, что для 1-байтового файла на 1-гигабайтном HFS-диске требовалось 16384 байт для хранения на жестком диске, поэтому было слишком много потерянного места. Поэтому Apple создала оболочку HFS +, чтобы уменьшить потерянное пространство.
Может быть способ увеличить размер блока, но зачем вам это?
Вот быстрый скрипт bash, в котором перечислены все выходные данные diskinfo для всех подключенных в данный момент дисков.
источник
Похоже, что размер блока устройства теперь составляет 4096 байт в iMac 2017 (iMac18,1), что создает проблемы для людей, использующих ntfsprogs.
источник