# Défragmentation (informatique)

La défragmentation est, en informatique, le processus d'élimination de la fragmentation du système de fichier. Il réorganise physiquement le contenu du disque pour mettre chaque morceau de fichier ensemble et dans l'ordre, dans le but d'augmenter la vitesse de lecture. Il essaye également de créer une grande région d'espace libre pour retarder la fragmentation.

## But de la défragmentation
### Généralités sur la défragmentation

Un disque dur est conditionné pour recevoir de l'information, sa surface est fragmentée en petits éléments distincts, appelés blocs (ou clusters), que vient adresser la tête. Lors de l'écriture, rien ne garantit que le système de fichiers utilise des blocs physiquement voisins sur la surface du disque aimanté. C'est ce phénomène que l'on appelle fragmentation.
Lors de la lecture d'un fichier fragmenté, la tête de lecture doit aller chercher l'ensemble des blocs de données éparpillés sur la surface du disque. De ce fait, cette opération nécessite plus de temps que la lecture du même nombre de blocs contigus. L'accès à un disque dur étant nettement plus lent que l'accès en mémoire vive, celui-ci constitue donc un goulot d'étranglement pour le système, et la fragmentation amplifie ce phénomène.
Ainsi, la réorganisation de l'ensemble des blocs de données d'un disque dur, afin de regrouper physiquement ceux constitutifs d'un même fichier, permet d'éviter la dégradation des performances de ce disque. Cette opération est appelée « défragmentation ».
Il est conseillé de défragmenter régulièrement les systèmes de fichiers sensibles à la fragmentation, comme le système FAT ou le NTFS.
On ne défragmente pas en principe les SSD, puisqu'ils ne possèdent pas de tête physique dont l'inertie ralentirait les accès fragmentés. Il était même déconseillé de le faire sur les premiers SSD en raison de l'usure non compensée de ces premiers modèles pendant les écritures. Voir l'article correspondant.
Les systèmes de fichiers utilisés par Linux depuis ext2fs sont présentés comme ne nécessitant pas de défragmentation.

## Problèmes liés à la défragmentation

La présence de fichiers systèmes inamovibles (ou de fichiers que le défragmenteur ne déplace pas afin de simplifier la tâche), spécialement un fichier swap, peut entraver la défragmentation.
Certains systèmes de fichiers montrent une plus grande susceptibilité à la fragmentation que d'autres, par exemple, un système de fichiers à base de FAT se fragmente assez rapidement. Des systèmes de fichiers plus évolués, comme les systèmes ext2, ext3, ext4 (les systèmes UNIX - GNU/Linux) résistent beaucoup plus à la fragmentation, en pensant intelligemment aux fichiers à taille variable, notamment. Ces systèmes essayent de garder la fragmentation au-dessous d'un certain point (2-3 %) de manière que la défragmentation ne soit pas nécessaire. Cette résistance à la fragmentation fonctionne bien tant que le système de fichiers a un espace disque libre suffisamment élevé.
Sur des systèmes sans résistance à la fragmentation, la fragmentation ne va qu'en s'amplifiant lorsque l'on ne s'y intéresse pas, une défragmentation périodique est donc nécessaire pour garder des performances disque de pointe et éviter les accès abusifs dus à une défragmentation moins fréquente.
Néanmoins, une défragmentation ne doit pas être utilisée trop fréquemment, en raison de l'augmentation de l'usure du disque dur qui y serait occasionné. De plus, la défragmentation est fortement déconseillée, notamment sur les périphériques de stockages basés sur la technologie Flash (clé USB, SSD), qui entraîne une usure prématurée des blocs d'écriture.
Maintenant qu'existent des disques externes rapides (sur USB3), on peut réaliser une défragmentation rapide et élégante en copiant le contenu d'un volume (ou d'une partition) à l'extérieur, puis en effaçant celui-ci et en rapatriant tout simplement ce contenu sur le volume ou la partition ainsi à nouveau vierge.

## Utilitaires

Les programmes de défragmentation sont souvent inclus dans les utilitaires installés avec les systèmes d'exploitation de la famille Microsoft Windows (bien que Windows NT n'en inclût pas). Ils sont accessibles depuis le menu Démarrer → Programmes → Accessoires → Outils systèmes → Défragmenteur de disque depuis Windows XP.
L'un des utilitaires les plus connus est celui inclus avec MS-DOS 6.x et Windows 9x : Defrag qui était une version allégée de Norton Speed disk. Depuis Windows 2000, il s'agit d'une version allégée de Diskeeper.
Il existe d'autres logiciels de défragmentation, commerciaux ou gratuits, tels que MyDefrag, Defraggler, Auslogics Disk Defrag ou encore SmartDefrag.
Il existe aussi le logiciel libre (Licence publique générale GNU) UltraDefrag.