3

Мой сценарий:

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

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

варианты, которые я уже отбросил:

варианты я рассматриваю:

ВАЖНОЕ РЕДАКТИРОВАНИЕ: забыл упомянуть, что мой жесткий диск отформатирован в FAT32 и это не системный диск!

2 ответа2

1

Вы не можете быть в состоянии

Если на диске есть какие-либо неподвижные файлы, очень вероятно, что вы не сможете иметь одновременно 100% дефрагментированных файлов и 100% дефрагментированного свободного пространства. Это связано с тем, что в промежутке между неподвижными файлами может отсутствовать комбинация файлов одинаковой длины. Кроме того, сами неподвижные файлы могут быть фрагментированы.

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

Если это также системный диск, то будут также некоторые неперемещаемые системные файлы. Вы можете обойти это, вставив диск в другую систему или загрузившись с другого диска /cd /dvd /usb /etc.

Разработчик jkdefrag переименовал свой продукт в MyDefrag. Я знаю, что инструмент MyDefrag позволяет вам обернуть файл вокруг неподвижных файлов, так что свободное место консолидируется на 100%, а все перемещаемые файлы на диске расположены в последовательном порядке, как дефрагментированные файлы, но с неподвижными файлами в между сегментами файла. Это покажет файлы как фрагментированные, но их чтение все равно будет очень быстрым, поскольку они находятся на диске последовательно. Чтение одного из этих файлов, которые оборачиваются вокруг неподвижных файлов, будет происходить в последовательном порядке адресов логических блоков на диске, но с некоторыми пробелами здесь и там. Время, которое требуется диску для пропуска чтения некоторых секторов, ОЧЕНЬ мало.

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

0

Я использую Windows XP, и у меня установлена утилита командной строки dirms версии 3.0.0.0 с 2010 года. Исходя из моего понимания документации этой программы, NTFS оставляет разрыв между файлами, так что на диске есть фрагментированное свободное пространство. Во-вторых, если файл меньшего размера удаляется с диска, это открывает пространство для повторного использования. Если добавлен файл большего размера, даже если имеется достаточно большой сегмент свободного пространства для размещения этого нового файла в одном сегменте, используется первое, меньшее пространство, и файл фрагментируется, поскольку его оставшийся фрагмент заполняет следующее доступное пространство.

Dirms объединяет файлы, дефрагментируя свободное пространство и, таким образом, делая доступными большие сегменты. Это делается с помощью записи командной строки "dirms c compact", где первая буква "c" - это буква диска, которую нужно сжать. Если дефрагментация и перемещение файлов ближе друг к другу через сжатие сделаны, это уменьшает тенденцию к фрагментации файлов.

Dirms не могут решить проблему NTFS, удалив файл меньшего размера и затем добавив файл большего размера, поскольку новый файл все равно будет заполнять первое доступное пространство, освободившееся меньшим удаленным файлом, и затем станет фрагментированным. Это ошибка файловой системы. (Конечно, запуск Dirms после удаления файла позволит избежать фрагментации нового файла!)

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

У меня установлен Auslogic DiskDefrag 4.4.2.0, и он имеет возможность сначала размещать системные файлы на диске для быстрого реагирования системы. Я заметил, что он оставляет сегмент свободного пространства ближе к началу, тогда как катушки не будут. Это может быть мысль о том, чтобы обеспечить свободное пространство рядом с передней частью диска для быстрого ответа на чтение и запись на только что дефрагментированном диске.

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

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

Возможно, лучшее из обоих миров - это периодически запускать Auslogics, чтобы сначала размещать системные файлы, а затем сжимать их. Я не знаю, удастся ли существенно убрать предварительное свободное пространство Auslogics с помощью dirms от повышения скорости системы, но это консолидирует ваше свободное пространство до степени, разрешенной присутствием неподвижных файлов.

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

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