Дефрагментатор Windows 8?

17

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

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

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

user541686
источник

Ответы:

7

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

Это говорит:

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

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

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

    • Требуется поддержка для IOCTL_STORAGE_QUERY_PROPERTYзапроса идентификатора объекта:StorageDeviceLBProvisioningProperty

      • Получает размер плиты тома
user541686
источник
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.

verdy_p
источник