Что такое дефрагментация файлов и для чего она нужна: Дефрагментация дисков – что это и зачем она нужна

Дефрагментирование файлов — Win32 apps


  • Статья


Если файл записывается на диск, иногда файл не может быть записан в смежных кластерах. Неконтентные кластеры замедляют процесс чтения и записи файла. Чем дальше на диске находятся неконтентные кластеры, тем хуже проблема, из-за времени, необходимого для перемещения головки чтения и записи жесткого диска. Файл с неконтентными кластерами фрагментирован. Чтобы оптимизировать файлы для быстрого доступа, том можно дефрагментировать.

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

  • Дефрагментация файла
  • Минимизация взаимодействий между дефрагментацией и теневыми копиями
  • Файлы, потоки и типы потоков, поддерживаемые для дефрагментации

Дефрагментация файла

В простой однозадарной операционной системе программное обеспечение дефрагментации является единственной задачей, и другие процессы для чтения или записи на диск отсутствуют. Однако в многозадачности операционной системы некоторые процессы могут считывать и записывать данные на жесткий диск, а другой — дефрагментировать этот жесткий диск. Этот способ заключается в том, чтобы избежать записи в файл, который дефрагментирован без остановки процесса записи в течение очень длительного времени. Решение этой проблемы не является тривиальным, но это возможно.

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

  • Включение приложений для поиска пустых кластеров
  • Определение расположения дисков файловых кластеров
  • Перемещение кластеров на диске

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

Эти операции можно выполнять без подавления выполнения других процессов. Однако другие процессы имеют более медленное время отклика во время дефрагментации диска.

Дефрагментация файла

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

    Примечание

    При необходимости переместите другие файлы, чтобы сделать место достаточно большим. В идеале достаточно нераспределенных кластеров после первого экстента файла, который можно переместить в пространство после первого экстента.

     

  2. Используйте FSCTL_GET_RETRIEVAL_POINTERS код элемента управления, чтобы получить карту текущего макета файла на диске.

  3. Пошаговые инструкции по структуре RETRIEVAL_POINTERS_BUFFER , возвращаемой FSCTL_GET_RETRIEVAL_POINTERS.

  4. Используйте код элемента управления FSCTL_MOVE_FILE для перемещения каждого кластера при пошаговом переходе по структуре.

    Примечание

    Возможно, потребуется продлить либо растровое изображение, либо структуру извлечения или как в разное время, так как другие процессы записывают на диск.

     

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

При использовании CreateFile для открытия каталога во время дефрагментации тома файловой системы FAT или FAT32 укажите значение маски доступа GENERIC_READ . Не указывайте значение маски доступа MAXIMUM_ALLOWED . Если это сделано, доступ к каталогу запрещен.

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

Повторное анализ точек, растровых изображений и списков атрибутов в томах файловой системы NTFS можно дефрагментировать, открывать для чтения и синхронизации, а также называть их с помощью синтаксиса file:name:type ; например, dirname:$i 30:$INDEX_ALLOCATION, mrp::$DATA, mrp::$REPARSE_POINT и mrp::$ATTRIBUTE_LIST.

При дефрагментации томов файловой системы NTFS дефрагментация виртуального кластера за пределами размера выделения файла разрешена.

Минимизация взаимодействий между дефрагментацией и теневыми копиями

По возможности перемещайте данные в блоках, выровненных по отношению друг к другу, в 16 килобайтах (КБ) приращения. Это снижает затраты на копирование при включении теневых копий, так как пространство теневого копирования увеличивается, а производительность снижается при возникновении следующих условий:

  • Размер блока запроса на перемещение меньше или равен 16 КБ.
  • Разность перемещения не увеличивается в 16 КБ.

Разностное перемещение — это количество байтов между началом исходного блока и началом целевого блока. Другими словами, блок, начинающийся с смещения X (на диске), можно переместить в начальное смещение Y, если абсолютное значение X минус Y является даже кратным 16 КБ. Таким образом, при условии, что кластеры размером 4 КБ будут оптимизированы для перехода от кластера 3 к кластеру 27, но переход от кластера 18 к кластеру 24 не будет. Обратите внимание, что mod(3,4) = 3 = mod(27,4). Выбран мод 4, так как четыре кластера с 4 КБ каждый эквивалентен 16 КБ. Таким образом, том, отформатированный до размера кластера размером 16 КБ, приведет к оптимизации всех файлов перемещения.

Дополнительные сведения о теневых копиях см. в разделе «Служба теневого копирования томов».

Файлы, потоки и типы потоков, поддерживаемые для дефрагментации

Хотя большинство файлов можно перемещать с помощью кода элемента управления FSCTL_MOVE_FILE , не все их можно переместить. Ниже приведен список файлов, потоков и типов потоков (также называемых кодами типов атрибутов), поддерживаемых FSCTL_MOVE_FILE. Другие файлы, потоки и типы потоков не поддерживаются FSCTL_MOVE_FILE.

Типы потоков, поддерживаемые для любого файла или каталога.

  • ::$DATA
  • ::$ATTRIBUTE_LIST
  • ::$REPARSE_POINT
  • ::$EA
  • ::$LOGGED_UTILITY_STREAM

**Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: **::$EA и ::$LOGGED_UTILITY_STREAM не поддерживаются до Windows 8 и Windows Server 2012

Типы потоков, поддерживаемые для любого каталога.

  • ::$BITMAP
  • ::$INDEX_ALLOCATION

Ниже приведены системные типы файлов, потоков и потоков, поддерживаемые FSCTL_MOVE_FILE в формате filename:streamname:$typename.

  • $MFT::$DATA
  • $MFT::$ATTRIBUTE_LIST
  • $MFT::$BITMAP
  • $AttrDef::$DATA
  • $AttrDef::$ATTRIBUTE_LIST
  • $Secure:$SDS:$DATA
  • $Secure::$ATTRIBUTE_LIST
  • $Secure:$SDH:$INDEX_ALLOCATION
  • $Secure:$SDH:$BITMAP
  • $Secure:$SII:$INDEX_ALLOCATION
  • $Secure:$SII:$BITMAP
  • $UpCase::$DATA
  • $UpCase::$ATTRIBUTE_LIST
  • $Extend:$I 30:$INDEX_ALLOCATION
  • $Extend::$ATTRIBUTE_LIST
  • $Extend:$I 30:$BITMAP
  • $Extend\$UsnJrnl:$J:$DATA
  • $Extend\$UsnJrnl::$ATTRIBUTE_LIST
  • $Extend\$UsnJrnl:$Max:$DATA
  • $Extend\$Quota:$Q:$INDEX_ALLOCATION
  • $Extend\$Quota::$ATTRIBUTE_LIST
  • $Extend\$Quota:$Q:$BITMAP
  • $Extend\$Quota:$O:$INDEX_ALLOCATION
  • $Extend\$Quota:$O:$BITMAP
  • $Extend\$ObjId:$O:$INDEX_ALLOCATION
  • $Extend\$ObjId::$ATTRIBUTE_LIST
  • $Extend\$ObjId:$O:$BITMAP
  • $Extend\$Reparse:$R:$INDEX_ALLOCATION
  • $Extend\$Reparse::$ATTRIBUTE_LIST
  • $Extend\$Reparse:$R:$BITMAP
  • $Extend\$RmMetadata:$I 30:$INDEX_ALLOCATION
  • $Extend\$RmMetadata:$I 30:$BITMAP
  • $Extend\$RmMetadata::$ATTRIBUTE_LIST
  • $Extend\$RmMetadata\$Repair::$DATA
  • $Extend\$RmMetadata\$Repair::$ATTRIBUTE_LIST
  • $Extend\$RmMetadata\$Repair:$Config:$DATA
  • $Extend\$RmMetadata\$Txf:$I 30:$INDEX_ALLOCATION
  • $Extend\$RmMetadata\$Txf::$ATTRIBUTE_LIST
  • $Extend\$RmMetadata\$Txf:$I 30:$BITMAP
  • $Extend\$RmMetadata\$Txf:$TXF_DATA:$LOGGED_UTILITY_STREAM
  • $Extend\$RmMetadata\$TxfLog:$I 30:$INDEX_ALLOCATION
  • $Extend\$RmMetadata\$TxfLog::$ATTRIBUTE_LIST
  • $Extend\$RmMetadata\$TxfLog:$I 30:$BITMAP
  • $Extend\$RmMetadata\$TxfLog\$Tops::$DATA
  • $Extend\$RmMetadata\$TxfLog\$Tops::$ATTRIBUTE_LIST
  • $Extend\$RmMetadata\$TxfLog\$Tops:$T:$DATA
  • $Extend\$RmMetadata\$TxfLog\$TxfLog. blf::$DATA
  • $Extend\$RmMetadata\$TxfLog\$TxfLog.blf::$ATTRIBUTE_LIST

 

 

Что такое дефрагментация и для чего она нужна

Многие начинающие пользователи не знают, что причиной замедления работы компьютера может служить такое явление, как фрагментация файлов. Бороться с этим явлением нам поможет процедура, которая называется дефрагментация. И давайте разберемся с тем, что такое дефрагментация

Если совсем упростить процесс работы на компьютере, то его можно свести к чтению и записи файлов с/на жесткий диск компьютера. Мы открываем (читаем) файл с диска, затем работаем с ним и в конце концов сохраняем его (записываем на жесткий диск).

Операции чтения и записи файлов на диск компьютера выполняет файловая система. Диск компьютера при форматировании (создании файловой системы) размечается на кластеры, каждый из которых занимает определенное дисковое пространство. При записи файлов на диск файловая система помещает файл в кластер. Если размер файла превышает размер кластера, то файловая система перемещает часть файла в соседний свободный кластер.

Так как операции записи файлов проходят постоянно, то со временем на диске наступает полная неразбериха. Части файлов «разбрасываются» файловой системой в разные области диска, так как все ближайшие кластеры заняты. Такой процесс называют фрагментацией.

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

Чтобы «помочь» компьютеру и ускорить работу файловой системы можно проводить дефрагментацию файлов на жестком диске.

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

Существует масса программ, позволяющих проводить дефрагментацию. Одна из утилит по дефрагментации называется Auslogics Disk Defrag Free.

Более подробно о процессе дефрагментации и о работе с Auslogics Disk Defrag Free смотрите в видео:

  • […] поэтому все программы, предназначенные для дефрагментации данных на дисках, не могут получить доступ к этим […]

  • […] Не буду подробно углубляться в тему дефрагментации, так как этот вопрос я уже достаточно подробно разобрал. Если вы не знаете, что такое дефрагментация и для чего она нужна, то посмотрите этот ролик. […]

  • […] что в подавляющем большинстве ситуаций процесс фрагментации файлов на диске оказывает незначительное влияние и есть намного […]

  • Андрей! Большое спасибо за урок, как всегда все просто и понятно.

  • CСпасибо за статью, очень пригодилась.

  • org/Person»>
    Любовь

    Большое спасибо за чёткие, доступные и краткие уроки! Они мне очень помогают разобраться что к чему. Успехов вам во всех ваших начинаниях!

  • Если я правильно понял — почему нельзя дефрагментировать диск на 100%?
    Если так, то не забывайте, что операционная система запущенна и сотни файлов во время процесса дефрагментации загружены и обрабатываются компьютером — идет постоянная обработка данных. Поэтому эти файлы просто не получается дефрагментировать. Но это не столь важно. Достаточно поддерживать фрагментацию на определенном достаточном уровне, чтобы компьютер работал стабильно и быстро.

  • org/Person»>
    Ефимович

    Спасибо, Андрей!!!Почему нет полной фрагментации (0%)?

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

  • Вера Цубанова

    Спасибо большое за такой нужный урок, но подскажите пожалуйста,при проведении дефрагментации нужно ли отключать интернет?

  • org/Person»>
    михаил

    Спасибо большое вам Андрей за урок!!!!Бог помощи вам ващих трудах !!!!

  • анатолий

    насколько необходима программа Auslogics..,если есть стандартная утилита в ОС?  Или она намного лучше?

  • Лариса

    Благодарю

Что такое фрагментация файлов и как это происходит в Windows 10

Загрузите инструмент восстановления ПК, чтобы быстро найти и автоматически исправить ошибки Windows

В Windows есть собственный инструмент дефрагментации, и вы, возможно, уже использовали его. Когда дело доходит до алгоритмов хранения файлов Windows, операционная система приводит аргументы в пользу чрезмерной фрагментации через свои временные файлы. И, вероятно, именно поэтому он предлагает инструмент дефрагментации, который мы будем называть в этой статье дефрагментатором Windows.

Что такое фрагментация файлов

Как Windows хранит файлы на жестком диске? Наверное, вы знаете ответ. Он пытается найти первый свободный сектор, эквивалентный размеру файла — на жестком диске. Затем он сохраняет файл там — вместе с некоторым дополнительным пространством, которое мы называем отступом. Это заполнение обеспечивает расширение файлов позже. Однако вычисление заполнения не является точным, учитывая тот факт, что пользователь сам решает, насколько большим может стать файл позже.

Предположим, вы создали документ Word и ввели два слова, прежде чем нажать кнопку «Сохранить». Windows найдет место, достаточное для этих двух слов (с некоторым дополнением), и сохранит его. Позже вы продолжаете добавлять новые слова в документ. Windows пытается разместить эти дополнительные слова в пространстве, которое она изначально добавила в сохраненный документ.

Но тогда Windows не знает, сколько еще слов вы добавите в документ. Таким образом, как только дополнительное место в конце файла занято, для Windows наступает время найти свободное место за этим отступом и добавить дополнительный файл в какой-то другой сектор на жестком диске — возможно, на другой дорожке или пластине.

Кроме того, вы могли заметить, что при работе с файлами (чаще всего при установке чего-либо или открытии офисного файла) Windows создает временные файлы, которые записываются на жесткий диск так же, как и обычные файлы. Это означает, что пока вы работаете с файлом, постоянное свободное место на жестком диске занято временными файлами. Это, в свою очередь, означает, что Windows будет создавать фрагментированные файлы всякий раз, когда вы нажимаете кнопку «Сохранить». После завершения установки и удаления временных файлов вы обнаружите, что ваш файл разбросан по всему жесткому диску, части которого хранятся в разных секторах и пластинах.

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

Поняв это, теперь давайте посмотрим, как Microsoft улучшила дефрагментатор диска, чтобы решить эту проблему и обеспечить лучшую и удобную дефрагментацию диска.

Дефрагментация Windows — улучшения

Дефрагментация Windows использовала слишком много памяти и ресурсов ЦП до Windows XP. Хорошо известно, что если вы запускали дефрагментатор диска Windows в Windows XP или предыдущих версиях, вам приходилось ждать его завершения, прежде чем вы могли делать что-либо еще на этом компьютере. Несмотря на то, что это системное программное обеспечение, собственный дефрагментатор диска использует слишком много памяти и ЦП — накладные расходы на ресурсы, которые вам никогда не понравятся.

В связи с увеличением размера жестких дисков и с тем, что большинство людей переходят на использование сторонних программ дефрагментации дисков, Microsoft разработала улучшенную программу дефрагментации Windows в Windows Vista, а также усовершенствовала ее в Windows 10/8/7. Новый дефрагментатор Windows полностью переработан, и вы обнаружите, что он работает неожиданно быстро. Кроме того, он работает в фоновом режиме, когда ваш компьютер простаивает, и поэтому не перегружает ресурсы вашего компьютера.

Еще одно улучшение, появившееся в Windows 7, а точнее, в Vista, заключается в том, что операционная система ищет самое большое свободное пространство перед сохранением файла, над которым вы работаете. Это означает, что он пытается избежать фрагментации двумя способами:

  1. Найти относительно большой кусок свободного места
  2. Добавить заполнение в конец файла

Дефрагментация теперь также состоит из двух важных этапов:

  1. Найти свободное пространство и переместить целые фрагментированные файлы для хранения всех частей в соседних дорожках и секторах.
  2. Объедините свободное пространство, чтобы в будущем Windows было проще хранить нефрагментированные файлы.

Это означает, что когда вы запускаете дефрагментатор Windows, вы не только дефрагментируете файлы, но и оптимизируете пространство на жестком диске, чтобы в некоторой степени избежать дефрагментации в будущем.

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

Дополнительная литература по теме:

  1. Устранение неполадок Утилита дефрагментации диска Windows
  2. Как дефрагментировать MFT, файл подкачки, реестр, системные файлы в Windows.

23
Акции


  • Более

Дата публикации: Теги: дефрагментация, жесткий диск

[email protected]

Арун Кумар был Microsoft MVP (2010-12). Он одержим технологиями, особенно Интернетом. Он занимается мультимедийным контентом, необходимым для обучения и корпоративных домов.

Как дефрагментировать жесткие диски в DSM 7 — Marius Hosting

Многие пользователи винят в своих проблемах с производительностью NAS операционную систему (DSM) или просто думают, что их NAS «старый», тогда как реальной причиной чаще всего является фрагментация диска. Самым слабым звеном в производительности NAS являются диски. Фрагментация файлов напрямую влияет на доступ к дискам NAS и на скорость записи, постоянно снижая производительность NAS до неприемлемого уровня.

Почему дефрагментация важна для моего Synology NAS? Каждый NAS страдает от постоянного роста фрагментации. Если вы не выполните очистку, это в конечном итоге повлияет на производительность вашего NAS. Дефрагментация помогает ускорить работу жестких дисков Synology NAS.

Вы помните золотые годы, когда вы выполняли дефрагментацию диска C на своем компьютере с Windows? Что ж, Synology предоставляет точно такие же возможности, как и раньше, для ускорения ваших дисков. Наверняка многие из вас помнят это изображение:

С появлением DSM 7 произошли некоторые изменения в процессе дефрагментации, и я подумал, что новая статья на эту тему, безусловно, приветствуется. Ниже я объясню, как выполнить дефрагментацию файловой системы на Synology NAS, выполнив следующие действия.

Пожалуйста, поддержите мою работу, сделав пожертвование .

Предупреждение . Не продолжайте использовать дефрагментацию файловой системы , если на томе есть снимки , созданные репликацией снимков . Прежде чем продолжить, удалите все снимки.

Перейти в главное меню . Следуйте инструкциям на изображении ниже.

Нажмите Менеджер хранилища . Следуйте инструкциям на изображении ниже.

На левой панели найдите Storage  /  Volume и выберите том, который вы хотите дефрагментировать (в моем случае Volume 1). Затем в верхней части тома нажмите на 3 точки , а затем на « Дефрагментация файловой системы ». Следуйте инструкциям на изображении ниже. Примечание . Дефрагментацию файловой системы Synology можно выполнять только на томах в Файловая система Btrfs , а не Ext4. Если у вас есть тома в Ext4, вы не увидите опцию « File System Defragmentation ».

После нажатия кнопки «Дефрагментация файловой системы» появится новое всплывающее окно со следующим сообщением:

Вы уверены, что хотите выполнить дефрагментацию файловой системы? Дефрагментация файловой системы снижает степень фрагментации файловой системы и повышает производительность системы. Требуемое время процесса зависит от размера тома и степени фрагментации файловой системы. Службы в DSM доступны во время этого процесса, но с меньшей производительностью. Поэтому мы рекомендуем выполнять тест в то время, когда система менее загружена. Не выключайте систему до завершения дефрагментации файловой системы; в противном случае этот процесс необходимо перезапустить. Примечание : использование тома может увеличиться, если том содержит снимки общих папок.

После того, как вы нажмете Да , начнется процесс дефрагментации файловой системы, который продлится несколько минут (зависит от размера тома). После завершения процесса дефрагментации система вернется в нормальное состояние, и вы увидите, как ваш жесткий диск ожил, а также заметите увеличение производительности.

Какие преимущества вы заметите после дефрагментации файловой системы тома?

  • Улучшена производительность приложения пакета .spk.
  • Уменьшено время ожидания и меньше сбоев дисков.
  • Сокращение времени резервного копирования при использовании Hyper Backup.
  • Более высокая скорость передачи данных.
  • Уменьшена задержка системы.
  • Более быстрая загрузка/перезагрузка.
  • Увеличенный жизненный цикл оборудования.
  • Более быстрое сканирование Antivirus Essential и Antivirus by McAfee.
  • Более быстрое чтение и запись.
  • Повышена общая стабильность системы DSM.
  • Уменьшена ненужная активность ввода-вывода.
  • Уменьшено повреждение файлов и потеря данных.

Примечание : Если вы работаете с SSD или флэш-памятью, вам действительно следует забыть о дефрагментации. SSD-диски не имеют механических частей. Но если вы выполните дефрагментацию файловой системы на твердотельных накопителях, вы получите уведомление о том, что процесс завершен без каких-либо проблем.
Примечание . Дефрагментация файловой системы доступна только на определенных моделях Synology NAS.
Примечание : Необходимо запустить дефрагментацию системы, чтобы переупорядочить данные для ускорения/ускорения скорости чтения файлов.
Примечание : Дефрагментацию файловой системы Synology можно выполнять только на томах в файловой системе Btrfs, а не в Ext4.
Примечание : Дефрагментация файловой системы может быть выполнена только в том случае, если том находится в состоянии Исправен.