Ralentissement des performances de la machine sur une partition ext4

1

Supprimer ce qui me semble être un nombre modéré de fichiers prend beaucoup de temps. Par exemple:

$ pv linux-3.0.16.tar.bz2 | tar xj
73.2MB 0:00:16 [4.55MB/s]
$ pv linux-3.0.16.tar.bz2 | tar xj
73.2MB 0:03:16 [ 382kB/s]

La partition est formatée ext4, montée en relation, error = remount-ro. Il n'y a pas de pic d'utilisation du processeur lors de la suppression de fichiers. Quelqu'un a-t-il une idée de ce qui pourrait se passer?

Mettre à jour : Exécuter les commandes ci-dessus ou rm -rf en tant que root effectue comme prévu ... mettre à jour : deviner. L'administrateur système de la boîte avait installé une quantité ridicule de règles d'audit globalement sur la boîte. Les supprimer le corrige.

Seamus Connor
la source
Le contenu semble être tar extraire et performance d'écriture de fichier non rm performance comme dans le titre et la première ligne - de quoi s'agit-il?
RedGrittyBrick
C'est supprimer les performances. La différence entre la première et la deuxième commande réside dans le fait que chaque fichier est remplacé au lieu de créé. rm -rf a le même problème cependant, et aurait été un meilleur exemple, je viens de passer ces commandes sur mon terminal.
Seamus Connor
Supprimer les fichiers dans un ordre aléatoire est très coûteux, car chaque opération de suppression de fichier supprime une entrée d'une position arbitraire sur une liste.
David Schwartz
Avez-vous exécuté une "synchronisation" entre les commandes afin que les données soient vidées sur le disque?
mikebabcock

Réponses:

1

Lorsque vous remplacez ou supprimez un fichier, procédez comme suit:

  1. Trouvez l'inode du fichier.
  2. Vérifiez les autorisations, l'utilisateur et le groupe du fichier individuel.
  3. Supprimez également les fichiers du répertoire si celui-ci était un répertoire (répétez les étapes 1 à 4 pour chaque fichier).
  4. Dissociez le fichier et son inode.

Cela va évidemment beaucoup ralentir les performances, car il est beaucoup plus difficile de simplement ajouter un nouvel inode et d'écrire un fichier sur le disque. C’est un effet secondaire du fait qu’il s’agit d’une liste de tables inodes. Si elle était une arborescence d’inodes, elle pourrait simplement supprimer une branche entière. Bien que cela ne changerait rien si vous annulez la partition, cette opération la fera fichier par fichier, quelle que soit la manière dont les inodes sont stockés ...

Courir en tant que root coupe l’étape 2, ce qui peut ou non être une énorme différence.


Avez-vous essayé de remonter dans ext3 et de comparer le temps d'exécution?

Parce que ext4 supprime plus rapidement en raison de l'utilisation d'étendues. Ce serait remarquable si c'était plus lent ...

Tom Wijsman
la source