27 votes

Pourquoi la défragmentation du disque C a-t-elle augmenté mon espace disque libre de 10 Go ?

J'ai utilisé Defraggler pour défragmenter l'espace libre sur mon disque de 100 Go C:\Nqui était plein à 85 Go. Après la défragmentation, le disque n'affichait plus que 75 Go d'espace libre. Comment se fait-il que 10 Go d'espace libre soient apparus comme par magie ? Ai-je perdu des données ?

J'ai fait un nettoyage du disque avant la défragmentation et ma corbeille n'était que d'environ 11 Mo, donc cela ne peut pas être dû au nettoyage des fichiers temporaires. Notez que j'ai défragmenté "l'espace libre", ce qui signifie qu'il aurait dû réorganiser les blocs vides pour qu'ils soient contigus.

23voto

James T Snell Points 5866

Chaque fragment doit être suivi quelque part. Cela prend de l'espace de stockage (dans la plomberie du système de fichiers, et non dans des éléments auxquels vous êtes censé accéder directement).

Un exemple : Supposons que vous ayez un seul fichier avec 1000 fragments. Ainsi, votre fichier est stocké dans une collection de blocs aléatoires plutôt qu'en un seul bloc continu. Cela signifie que le fichier fragmenté nécessite 1000 fois plus d'espace de stockage dans la plomberie du système de fichiers, ne serait-ce que pour stocker les adresses de chaque fragment. La plomberie du système de fichiers conserve de petits dictionnaires/bases de données/cartes/tables/liste indiquant l'emplacement de chaque fragment du fichier. Ainsi, pour la plomberie du système de fichiers, le stockage d'une liste d'un seul pointeur de fragment ne nécessite pas beaucoup d'espace, comparé à une liste de 1000 pointeurs de fragment

Mais peut-être que je me trompe...

Edita: Informations complémentaires ici :

Lorsqu'un flux de données non résident est trop fragmenté, de sorte que sa carte d'allocation effective carte d'allocation effective ne peut pas tenir entièrement dans l'enregistrement MFT, la carte d'allocation peut également être stockée sous la forme d'un flux de données flux non résident, avec seulement un petit flux [ ] la carte d'allocation indirecte au carte de répartition effective des non-résidents du flux de données non résident.

Traduction : En cas de fragmentation importante, les hypothèses générales du système de fichiers ne s'appliquent pas. Le système de fichiers doit donc prendre des mesures pour s'adapter à la fragmentation et finit par coûter de l'espace de stockage supplémentaire, simplement pour gérer les fragments. C'est exactement ce que je pensais dès le départ.


Edita: Compte tenu de ce qui précède, il semble tout de même que la perte de 10 Go due à la fragmentation des fichiers soit insensée. Je parie que lors de la défragmentation, vous avez eu une corruption courante du système de fichiers qui a été corrigée automatiquement. Je pense que vous aviez non seulement une fragmentation massive, mais aussi des fichiers partiellement supprimés qui prenaient de l'espace de stockage. Il aurait été intéressant de voir un journal scandisk de cette défragmentation (ou une exécution de scandisk avant la défragmentation).

13voto

afrazier Points 22479

Ce qui s'est probablement passé, c'est que l'opération de défragmentation a forcé Windows à jeter des instantanés de restauration du système. Il faudrait un cas pathologique de fragmentation pour que les métadonnées occupent 10 % de l'espace disque en plus de ce que Windows utilise normalement.

Je ne vois rien dans l'historique des versions ou dans la documentation de Defraggler qui indique qu'il est capable de défragmenter correctement les fichiers pour empêcher la purge des copies d'ombre. En fait, ce fil du forum d'assistance de Defraggler indique qu'ils savent que cela se produit (il y a un message d'un administrateur du forum intitulé "Official Piriform Bug Fixer" dans le fil de discussion) mais n'indique pas s'ils vont ou non corriger le problème.

Les copies d'ombre peuvent être perdues lors de la défragmentation d'un volume : La raison pour laquelle cela se produit est que, par défaut, VSS fonctionne avec des clusters de 16 Ko, alors que la plupart des volumes NTFS sont formatés avec des clusters de 4 Ko. Par conséquent, si une opération de défragmentation déplace des données qui ne sont pas un multiple d'un cluster de 16 Ko (ou si la "distance" déplacée n'est pas un multiple de 16 Ko), VSS la considère comme une modification et peut purger tous vos instantanés.

MSDN : Défragmentation des fichiers :

Dans la mesure du possible, déplacez les données dans des blocs alignés les uns par rapport aux autres par incréments de 16 kilo-octets (Ko). Cela permet de réduire la charge de travail liée à la copie sur l'écriture lorsque les copies fantômes sont activées, car l'espace de la copie fantôme est augmenté et les performances sont réduites lorsque les conditions suivantes sont réunies :

  • La taille du bloc de la demande de déplacement est inférieure ou égale à 16 Ko.
  • Le delta de déplacement ne se fait pas par incréments de 16 KB.

Le défragmenteur intégré de Vista ne fait pas cela :

Une modification qui n'est pas évidente pour les utilisateurs est l'optimisation de la copie d'ombre pendant la défragmentation. Defrag dispose d'une heuristique spéciale pour déplacer les blocs de fichiers de manière à minimiser l'activité de copie sur écriture et la consommation de la zone de stockage de la copie fantôme. Sans cette optimisation, le processus de défragmentation accélérerait la suppression des anciennes copies fantômes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X