Pourquoi le défragmenteur Windows ne fait presque rien sur un disque avec 23% d'espace vide?

8

En essayant de défragmenter un volume de 80 Go NTFS (taille de cluster de 4 Ko) sous Windows XP, j'ai rencontré un étrange problème: le processus de défragmentation est très rapide, mais aussi très inutile. Graphiquement, je pouvais voir certains fichiers bouger tout autour, mais le niveau de fragmentation reste le même.

Voici à quoi cela ressemble une fois le volume défragmenté:

L'image est une capture d'écran du défragmenteur Windows sur Windows XP, avec deux vues graphiques d'un disque: avant et après;  les deux sont assez similaires et présentent une défragmentation importante

Je sais qu'il y a une limite d'espace libre de 15%. En fait, le volume est gratuit à 23%.

Bien sûr, Windows Defragmenter affiche un tas de fichiers qu'il n'a pas pu défragmenter. Certains sont volumineux (jusqu'à 1 Go), mais pas trop volumineux pour ne pas pouvoir les déplacer pendant la défragmentation. Sans compter, j'imagine, hiberfil.sys et pagefile.sys (ils sont immobiles, n'est-ce pas?).

Comment diagnostiquer ce problème?

PS. L'installation d'autres logiciels de défragmentation, comme suggéré sur une question similaire , n'est pas une solution dans mon cas.

Arseni Mourzenko
la source
15% n'est pas une limite stricte, juste une estimation approximative.
user1686
1
Il est possible que les fragments soient juste assez gros pour que le coût de leur déplacement ensemble soit égal ou supérieur à l'avantage de les déplacer ensemble.
surfasb
Les gros fichiers non défragmentables sont-ils ouverts par hasard? Pouvez-vous mentionner quelques-uns des grands vraiment fragmentés?
William C
@William C: ce sont les fichiers personnels des utilisateurs (y compris ceux des utilisateurs non connectés). Ils ne sont pas utilisés pendant la défragmentation.
Arseni Mourzenko

Réponses:

5

Le défragmenteur n'a nulle part où déplacer les gros fichiers: tout l'espace libre est réparti de manière assez uniforme en petits morceaux, donc il n'y aurait aucune amélioration si $ VERYBIGFILE passait de, disons, 20 morceaux proches à 10 dispersés. pièces.

L'une des étapes effectuées par le défragmenteur est le compactage de fichiers, dans lequel des fichiers contigus mais séparés sont mélangés pour former un seul bloc de données. Essayez de l'exécuter plusieurs fois et cela devrait s'améliorer avec le temps.

Vous pouvez également essayer contig -v somebigfilede défragmenter les fichiers un par un.

user1686
la source
4

Essayez de redémarrer en mode sans échec, puis désactivez autant de services que possible. Les fichiers ouverts ne seront pas déplacés ou défragmentés, donc l'idée de fonctionner avec le moins de processus possible.

Ou retirez le lecteur et installez-le (en tant que lecteur de données) sur un autre PC pour la défragmentation.

sciure
la source
1

Vous pouvez désactiver l'hibernation et cela devrait supprimer le hiberfil.sys. Sinon, vous pouvez le supprimer manuellement une fois que l'hibernation est désactivée. Vous pouvez également désactiver votre fichier d'échange. Une fois que ces deux gros fichiers non défragmentables ont disparu, vous pouvez avoir de meilleurs résultats de défragmentation. Une fois cela fait, vous pouvez réactiver le fichier d'échange et l'hibernation. Espérons que, une fois le volume défragmenté, les deux autres fichiers seront placés dans des fichiers contigus.

Keltari
la source
1

Sysinternals dispose de l' utilitaire de défragmentation de fichier d'échange . Je ne sais pas comment cela fonctionnera avec le disque en cours d'organisation, mais cela vaut probablement la peine d'essayer de ranger ces fichiers plus volumineux et de les éliminer afin que votre défragmentation standard puisse plus efficacement accéder aux autres fichiers.

music2myear
la source
1

Si la défragmentation en mode sans échec n'aide pas, alors soit

  • Videz vos dossiers prefetch et superfetch. (Shudder!) Ces dossiers indiquent à Defrag de ne pas défragmenter certains fichiers, ce qui est exactement le contraire de ce que vous voulez,

ou

  • Retirez le lecteur et défragmentez-le lorsqu'il est connecté à un autre ordinateur. Cela garantit que les fichiers ouverts sont aussi peu nombreux que possible et que Defrag ne prend pas en compte vos données PF.
William C
la source