100 votes

Windows 10 supprime beaucoup de petits fichiers très lentement. Est-il possible d'accélérer le processus?

Je travaille avec des dizaines de milliers de fichiers JPEG de 20 ko par lots qui totalisent des gigaoctets. Lorsque j'essaie de supprimer un ancien lot, Windows 10 a un taux de suppression très faible qui tombe parfois même à zéro pour une raison quelconque:

Entrez ici la description de l'image

Est-ce juste un fait de la vie pour le matériel sur lequel je suis, ou y a-t-il quelques conseils et astuces que je pourrais essayer pour accélérer ce processus de suppression?

3voto

Blerg Points 1162

Pour ajouter aux réponses fournies, la raison pour laquelle les opérations de suppression prennent autant de temps est due au type de disque dur que vous utilisez. Dans l'un de vos commentaires, vous indiquez que vous utilisez un disque dur mécanique, et la quantité de IOPS qu'ils peuvent effectuer est assez faible par rapport aux SSD. Wikipedia a une liste de la quantité approximative de IOPS que les disques mécaniques et les disques à état solide peuvent effectuer sur leur site.

Ce qui se passe essentiellement, c'est que le système d'exploitation indique au disque dur d'effacer les métadonnées du fichier dans la table de partition, ce qui le supprime de la vue (il est toujours là, mais le système d'exploitation ne sait plus y accéder). C'est essentiellement un très petit écrit sur le disque dur (il écrit des 0 dessus), donc c'est un IOP rapide, qui peut faire beaucoup plus que ce qui est indiqué sur le Wiki puisque le Wiki répertorie des écritures aléatoires et soutenues.

La chose à garder à l'esprit maintenant, c'est qu'Explorer essaie de bien s'entendre avec tout le reste qui fonctionne sur le système pendant la suppression, ce qui peut être lent. La commande del d'autre part n'essaie pas du tout d'être gentille, et supprime aussi rapidement que possible.

Passer à un SSD vous aiderait dans votre travail car leurs IOPS sont normalement mesurés par milliers, et les disques mécaniques sont mesurés par centaines. Vous pourriez également essayer d'utiliser une clé USB pour voir si cela aide ; cependant, vos résultats dépendraient fortement du disque que vous utilisez. Si vous avez de la RAM (et ne vous dérangez pas le risque de perdre les images), vous pourriez créer un disque RAM et l'utiliser. J'ai personnellement utilisé ImDisk Virtual Disk Driver (sans affiliation), avec beaucoup de succès et c'est gratuit.

2voto

Woric Points 21

J'ai rencontré exactement ce problème avec des tests automatisés qui créaient et supprimaient des milliers de fichiers à chaque exécution du test.

Voici ce que j'ai fait pour obtenir de bonnes performances.

  1. Supprimez toujours l'intégralité du dossier et évitez la corbeille. Si vous le faites manuellement, utilisez la ligne de commande.

  2. Pouvez-vous convertir une partie de votre mémoire en un lecteur RAM ? J'ai acheté de la RAM supplémentaire et ça a fonctionné brillamment car les fichiers devaient être supprimés dans le cadre de mes tests. (Une meilleure solution serait des lecteurs RAM dédiés avec batterie intégrée, mais ils sont très chers.)

  3. Écrire sur des disques SSD de 1ère et 2ème génération devient plus lent avec le temps et ils deviennent finalement inutilisables. L'exécution d'une commande de "Trim" de bas niveau corrige cela, bien que toutes les combinaisons OS/Matériel ne supportent pas le Trim. J'ai finalement dû acheter de nouveaux SSD car les miens avaient été réécrits trop de fois. (Évidemment, mes tests tuaient mes disques SSD bon marché. Ça m'a pris un certain temps pour comprendre ça.)

  4. Si vous utilisez un HDD, défragmentez le disque régulièrement.

Bonne chance. Il m'a fallu de nombreux mois et quelques SSD, suivis de RAM supplémentaire, pour trouver une stratégie qui fonctionnait pour moi, donc je compatis.

2voto

Outre les autres excellentes réponses que je voulais partager quelques astuces avec vous:

  • Supprimer tous les fichiers dans un dossier: del *.*
  • Raccourci: même chose que ci-dessus, moins de frappe: del..

Maintenant, facilitez-vous la vie:

  • Supprimer plusieurs fichiers sans avoir à répondre à la question "êtes-vous sûr": echo Y | del.

1voto

Broly LSSJ Points 169

Supprimer de nombreuses entrées de répertoire prendra plus de temps que de supprimer un seul répertoire de taille nette. Lors de la suppression de nombreux fichiers, il faut de nombreuses commandes au lieu d'une seule lorsque un seul fichier est supprimé.

Maintenant, lorsqu'un seul gros fichier est supprimé, le filemapper est informé de désallouer la mémoire de ce gros fichier, mais les 1 et 0 du fichier ne sont pas réinitialisés. Le filemapper est simplement informé qu'il est libre d'écrire de nouvelles données sur les anciens 1 et 0. Fondamentalement, c'est une seule commande, qui prend du temps pour effacer toutes les allocations de mémoire du fichier fragmenté. Lorsque vous supprimez un million de petits fichiers, vous envoyez un million de commandes au filemapper, qui doit en exécuter une à la fois.

La solution consiste donc à utiliser un logiciel pour effacer un lecteur des fichiers supprimés et des 1 et 0 laissés derrière. Il suffit d'une seule commande pour effacer l'espace. Utilisez le logiciel uniquement si vous pensez que les fichiers n'ont pas besoin d'être récupérés ultérieurement.

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