Est-ce qu'un disque de 100 Go avec 1 000 000 fichiers prend plus de temps qu'un disque de 100 Go avec 100 fichiers en cours d'exécution fsck
?
Est-ce qu'un disque de 100 Go avec 1 000 000 fichiers prend plus de temps qu'un disque de 100 Go avec 100 fichiers en cours d'exécution fsck
?
Réponses:
Cela dépend du système de fichiers et des commutateurs que vous utilisez avec fsck.
Les fsck
vérifications et tentatives de réparation donne une explication assez détaillée de ce que fsck fait lorsqu'il est appelé sans commutateur.
Certaines vérifications prennent un temps constant (par exemple, contrôle de super bloc), beaucoup dépendent du nombre d’inodes à traiter par fsck (par exemple, contrôles du nombre de liens), d’autres de la taille du système de fichiers (par exemple, des données régulières). bloquer les contrôles).
Sans le -c
commutateur, fsck ne vérifie pas le contenu des fichiers normaux. Par conséquent, la taille des fichiers est sans importance. Même lors de la recherche de blocs défectueux, le temps d'exécution augmente uniquement avec la taille du système de fichiers. Quelle partie de la partition est occupée n'affecte pas le temps d'exécution. 1
Le nombre d' inodes d'un système de fichiers est constant, c'est-à-dire décidé au moment de la création. Les métadonnées de chaque fichier sont stockées dans l'un de ces inodes. Selon ext4 , les inodes non utilisés sont marqués comme tels dans ext4, mais pas dans ext3. Ainsi, le temps d'exécution de fsck augmente avec le nombre de fichiers dans ext4, mais est constant (et élevé) dans ext3.
La figure suivante illustre ceci:
Notez que les différents nombres de fichiers sont représentés par différentes couleurs. Les graphiques pour ext3 avec 2,1 millions, 100 000 et même zéro fichiers sont identiques. Le graphique pour ext4 avec des fichiers de 2,1 M et 100 000, respectivement, montre une différence significative.
En revanche, le temps d'exécution augmente avec le nombre d'inodes avec ext3, tandis que les inodes non utilisés n'ont pas d'impact sur le temps d'exécution avec ext4.
1 Vérifié empiriquement en exécutantfsck -c
sur une partition vide.