Почему дефрагментатор Windows практически ничего не делает на диске с 23% свободного места?

8

При попытке выполнить дефрагментацию тома 80 ГБ NTFS (размер кластера 4 КБ) в Windows XP я столкнулся со странной проблемой: процесс дефрагментации очень быстрый, но также очень бесполезный. Графически я мог видеть некоторые файлы, перемещающиеся вокруг, но уровень фрагментации остается тем же самым.

Вот как это выглядит после дефрагментации тома:

На снимке экрана показан скриншот дефрагментации Windows в Windows XP с двумя графическими изображениями диска: до и после;  оба довольно похожи, и представляют сильную дефрагментацию

Я знаю, что есть 15% свободного места. На самом деле, объем свободен на 23%.

Конечно, дефрагментатор Windows показывает кучу файлов, которые он не смог дефрагментировать. Некоторые из них большие (до 1 ГБ), но не слишком большие, чтобы их нельзя было перемещать во время дефрагментации. Не считая, я полагаю, hiberfil.sys и pagefile.sys (они неподвижны, не так ли?).

Как мне диагностировать эту проблему?

PS. Установка других программных продуктов для дефрагментации, как предлагается по аналогичному вопросу , в моем случае не является решением.

Арсений Мурзенко
источник
15% - это не жесткий предел, а приблизительная оценка.
user1686 9.09.11
1
Возможно, что фрагменты достаточно велики, чтобы стоимость их перемещения равнялась или превышала выгоду их перемещения.
Surfasb
Открыты ли большие недефрагментируемые файлы? Можете ли вы упомянуть некоторые из действительно фрагментированных больших?
Уильям С.
@William C: это личные файлы пользователей (в том числе не вошедших в систему). Они не используются во время дефрагментации.
Арсений Мурзенко

Ответы:

5

У дефрагментатора нет места, куда можно переместить большие файлы: все свободное пространство несколько равномерно распределено на небольшие порции, поэтому улучшения не будет, если $ VERYBIGFILE изменится, скажем, с 20 близких фрагментов до 10 разбросанных по всему шт.

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

Вы также можете попробовать contig -v somebigfileдефрагментировать файлы один за другим.

user1686
источник
4

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

Или извлеките диск и установите его (как диск с данными) на другой компьютер для дефрагментации.

опилки
источник
1

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

Keltari
источник
1

У Sysinternals есть утилита Defrag Page File . Я не уверен, как он будет работать с диском, расположенным так, как он есть, но, вероятно, стоит попробовать расположить эти большие файлы так, чтобы стандартная дефрагментация могла более эффективно получить доступ к другим файлам.

music2myear
источник
1

Если дефрагментация в безопасном режиме не помогает, то либо

  • Очистите папки prefetch и superfetch. (Shudder!) Эти папки говорят Defrag не дефрагментировать определенные файлы, что является полной противоположностью того, что вы хотите,

или

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