16

Похоже, что команда defrag Windows 8 имеет несколько новых параметров, в том числе:

/K Выполнить консолидацию плиты на указанных объемах.

Кто-нибудь знает, что это значит на английском?

3 ответа3

6

Этот PDF, кажется, объясняет это, наряду с новыми функциями NTFS.

Это говорит:

  • Консолидация плиты

    • Эффективно дефрагментирует файлы, чтобы минимизировать количество выделенных плит

    • Плита - это единица распределения на тонком подготовленном объеме.

    • Требуется поддержка для IOCTL_STORAGE_QUERY_PROPERTY запрашивающего идентификатор свойства: StorageDeviceLBProvisioningProperty

      • Получает размер плиты тома
3

Я не смог найти ничего конкретного, объясняющего, что это значит в контексте дефрагментатора Windows 8. Но "консолидация плит" обычно относится к движущимся объектам, так что объекты, которые округляются до одинакового размера размещения, размещаются вместе.

Преимущество от этого обычно минимально. Но это имеет тенденцию уменьшать среднее время поиска при обращении к большому количеству мелких объектов.

0

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

Мое мнение таково, что он используется для уменьшения задержки для выделений на больших томах, что в противном случае вызвало бы слишком много одновременных обращений параллельных потоков, когда им нужно было бы выделить место на томе, потому что это поставило бы блокировку на ту же часть выделения тома. битовая карта. Чтобы избежать обработки больших растровых изображений, его можно подразделить на "плиты", размер которых в битах представляет смежные области на диске с использованием одного и того же фрагмента растрового изображения (занимающего не менее 1 или более кластеров; если размер вашего кластера равен 4 КБ, его кластер в растровом изображении представляет 4K * 8 = 32K выделяемых кластеров, т. Е. 128 МБ для хранения; фактический размер плиты в томе настраивается в диапазоне от 33 до 64, что позволяет примерно 33 одновременно работающим потокам распределять пространство в битовой карте на dist, не блокируя друг друга)

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

Это объясняет, почему распределение на диске "распределено" по всему объему. Также это объясняет, почему MFT в NTFS имеет как минимум 2 фрагмента, принадлежащих другим плитам, поскольку он позволяет избежать серьезных блокировок между многими потоками, использующими том. Вы можете дефрагментировать MFT, но он останется по крайней мере одним фрагментом, сохраненным в его "зарезервированной области" для одновременных распределений, которые должны избегать блокирующих операций ввода-вывода на томе NTFS).

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

Но я не думаю, что NTFS выделяет какую-либо плиту для файлов определенного размера. Внутренняя NTFS слегка дефрагментирует плиты, когда данные удаляются, и их выделенный размер падает ниже некоторого порога, и две такие плиты могут быть объединены.

Вы можете получить информацию о размерах плит с помощью:

fsutil fsinfo ntfsinfo c:

Очевидно, что плиты - это параметры настройки, предназначенные для производительности. Но многие сторонние инструменты дефрагментации игнорируют этот параметр и не используют оптимальное размещение. В идеале у вас должно быть некоторое свободное пространство на каждой пластине тома, если только на пластинках нет файлов и индексов, которые не перераспределяются и не должны оставаться стабильными. Для многих небольших временных файлов и транзакций, которые постоянно создаются и перерабатываются, вам необходимо поместить их в достаточное количество блоков в зависимости от количества параллельных потоков и избегать их размещения слишком далеко от других кластеров, которые необходимо прочитать, если том является жесткий диск или RAID-массив (это не имеет значения для SSD).

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

Нам по-прежнему нужна информация от Microsoft о следующих параметрах настройки в реестре:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\SlabifyFunction]
MinimumReclaimSlabsMB      = REG_DWORD: 10240
MinimumReclaimSlabsPercent = REG_DWORD: 10
SlabEvictUpperBoundKB      = REG_DWORD: 204800
SlabEvictUpperBoundPercent = REG_DWORD: 20

Я думаю, что они специально оставлены недокументированными, потому что Microsoft все еще думает об изменении стратегии размещения и может изменить ее с течением времени. Они не предоставляются API, вы можете найти их доказательства только в реестре и во внутренней реализации исходного кода драйвера NTFS.

Все, что мы знаем, это то, что слябы кратко открываются с помощью параметра "/K" инструмента командной строки DEFRAG.EXE, который не описывает их подробно. Но легко заметить, что оптимизация /K дает огромный прирост производительности после начальной установки Windows (даже до того, как оптимизация Bootvis будет выполнена после 6 перезагрузок и измерений). Есть также параметры /L, связанные с обрезкой на SSD.

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