Дефрагментация диска

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Дефрагментация»)
Перейти к: навигация, поиск
Фрагментация и дефрагментация файловой системы типа FAT

Дефрагмента́ция — перераспределение файлов и логической структуры диска для обеспечения непрерывной последовательности кластеров.

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

Причины фрагментации файлов[править | править вики-текст]

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

Когда фрагментированных файлов становится много, то скорость работы жесткого диска уменьшается, поскольку возникают затраты на перемещение между разделёнными фрагментами[1].

Флеш-память записывает данные в scattershot-mode (когда только сам контроллер памяти знает о реальном расположении фрагментов. Кроме того, SSD выдерживает только ограниченное число записей памяти. Поэтому, выполнять дефрагментацию на SSD не только не эффективно, но и вредно[2]. Программы дефрагментации могут ускорить работу SSD-накопителя, но не прибегая к дефрагментации[2].

Необходимость дефрагментации[править | править вики-текст]

Дефрагментация чаще всего требуется для таких файловых систем, как File Allocation Table (FAT16, FAT32) для MS-DOS и Microsoft Windows, так как в программах для работы с ними обычно не предусмотрено никаких средств для предотвращения фрагментации, и она появляется даже на почти пустом диске и небольшой нагрузке.

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

Программное обеспечение[править | править вики-текст]

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

Файловые системы[править | править вики-текст]

  • FAT: MS-DOS 6.x и Windows 4.x содержат утилиту Defrag. Версия для DOS основана на Norton SpeedDisk, версия для Windows — на Diskeeper.
  • NTFS: Windows NT 5 и новее содержат дефрагментатор, основанный на Diskeeper. Windows NT 4 и ранее не имели встроенных утилит для дефрагментации.[3]
  • ext2 использует офлайн-дефрагментатор e2defrag.
  • ext3: e2defrag может работать с ext3, только если её временно преобразовать в ext2. Вместо этого можно использовать дефрагментатор, не зависящий от файловой системы — например, Shake.[4]
  • ext4: e4defrag, работающий за счет создания экстентов и перемещения в них файлов.
  • XFS: онлайн-дефрагментатор xfs_fsr.
# xfs_fsr -v /dev/sdX1
  • Информацию о фрагментированности файла можно получить с помощью утилиты filefrag из пакета e2fsprogs.

Дефрагментация вручную и предотвращение фрагментации[править | править вики-текст]

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

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

Помогает использование отдельного раздела для часто изменяемых файлов. Например, в Unix-подобных ОС на отдельных разделах часто размещаются пользовательские данные и настройки (каталог /home), временные файлы (/tmp), протоколы, кэши и др. (/var); см. также FHS.

Примечания[править | править вики-текст]

  1. Joe Kinsella Impact of Disk Fragmentation
  2. 1 2 Fragging wonderful: The truth about defragging your SSD
  3. Disk Defragmenter Limitations in Windows 2000, Windows XP, and Windows Server 2003 (англ.). Help and Support. Microsoft (24 января 2007). Проверено 27 сентября 2007. Архивировано 8 февраля 2012 года.
  4. Vleu.net: ShAkE

Литература[править | править вики-текст]

  • Peter Norton. Peter Norton’s Complete Guide to DOS 6.22. — Sams, 1994. P. 521. ISBN 0-672-30614-X
  • Woody Leonhard, Justin Leonhard. Windows XP Timesaving Techniques For Dummies. — 2nd ed. — For Dummies, 2005. — 590 p. — ISBN 978-0764578830.
  • Craig Jensen. Fragmentation: The Condition, the Cause, the Cure. Executive Software International, 1994. ISBN 0-9640049-0-9
  • Dave Kleiman, et al. Winternals Defragmentation, Recovery, and Administration Field Guide. — Syngress, 2006. — 512 p. — ISBN 978-1597490795.
  • Drew Robb. Server Disk Management in a Windows Environment. — Auerbach Publications, 2003. — 280 p. — ISBN 978-0849324321.

Ссылки[править | править вики-текст]