Juste une question de curiosité. Le nettoyage de disque a dépensé 100% de l’un de mes cœurs pendant un bon bout de temps et continue. Semble passer beaucoup de temps en particulier sur Windows Update Cleanup.
Je ne comprends pas trop pourquoi la suppression de fichiers devrait être une activité aussi intensive. D'autant plus qu'il a déjà passé pas mal de temps à calculer ce qu'il pourrait supprimer.
Pourquoi le nettoyage de disque prend-il tant de temps et de ressources processeur? Qu'est-ce qu'il fait qui est si intensif?
Je peux confirmer que Windows Updates Cleanup nécessite presque 100% d’utilisation du processeur. Il s’agit de la compression WinSxS et de la réintégration des mises à jour:
J'ai commencé le nettoyage pour la première fois après l'installation de Windows et il m'a fallu 2 heures pour terminer à 50%. Vous pouvez voir sur le graphique que, dans un premier temps, beaucoup de lecture de petits fichiers sur le disque (deuxième graphique), et après une utilisation de 100% du processeur pour la compression, etc.
la source
Juste pour mettre le feu à la question, j'avais fait sur une machine virtuelle immuable les prochaines étapes:
cleanmgr
faire son travail et prend note de l'heure (plus de huit heures)Veuillez noter que j'ai redémarré sur Linux SystemRescueCd juste pour pouvoir lister tous les fichiers, y compris ceux consultés par Window, ainsi que pour faire cette liste aussi rapidement que possible (pas de vérification, etc.).
Veuillez également noter que
cleanmgr
je ne compte que le temps après la fin de la recherche (la recherche elle-même a également pris plus de six heures).La suppression des fichiers n’est donc pas un gâchis (la suppression elle-même ne nécessite que cinq minutes mais
cleanmgr
prend plus de huit heures).Le supprimer lui-même peut aller si vite que l'hôte est un Linux, cette vitesse est due au fait que Linux met en cache toutes les écritures dans le fichier de taille fixe utilisé comme disque sur la machine virtuelle (24 Go), et depuis j'ai 64 Go de La RAM et moi laissons au Windows 16GiB il n’a pas besoin d’utiliser SWAP ni PAGEFILE.SYS; de plus, Linux peut contenir le fichier complet dans la RAM (j’ai testé ce fichier dans la RAM et les temps de suppression sont très fréquents, mais le
cleanmgr
temps ne s’écoule pas).Oui, si je mets le disque virtuel entièrement en RAM, le
cleanmgr
temps ne baisse pas, mais si je supprime les fichiers, ce temps diminue un peu (le cache en écriture Linux est génial lorsque vous disposez de 64 Go de RAM).Ma configuration pour les tests:
Test1: Disque virtuel 24GiB sur les disques durs physiques Test2: Disque virtuel 24GiB sur la RAM de l'hôte Linux
Je crains que cela
cleanmgr
fasse quelque chose sur le registre Windows pour chaque fichier supprimé (l'accès au registre est très faible).Les moniteurs que j'avais
cleanmgr
fonctionnait, avec des piques de 2%), le cache disque Linux est vraiment génial, évitant que des données soient envoyées sur un disque réelcleanmgr
fonctionnait, avec des piques de 28%)Alors, clairement,
cleanmgr
fait-il beaucoup de travail indétectable, peut-être des heures de sommeil? Peut-être pas, s’il s’agit d’un registre, le processeur correspondant n’est pas compté par les moniteurs Windows, le disque dur n’est pas utilisé (le registre est sur RAM), etc., et chaque accès au registre peut durer plus d’une seconde. Essayez votre propre programme pour accéder au registre en l’ouvrant et en le fermant à chaque action, au lieu de laisser HK * ouvert… c’est une grande différence.Donc, si
cleanmgr
pour chaque fichier:Cela peut prendre jusqu'à deux ou trois secondes par opération, et si vous effectuez une opération par fichier, cela peut prendre près d'une heure pour chaque millier de fichiers ... mon nombre de fichiers ne représentait qu'un peu plus de 40000 fichiers, donc 40000 fichiers / 8 heures traitent un fichier toutes les 1,3 secondes ... de l’autre côté, leur suppression sur un script (après avoir déterminé lesquelles) a pris moins de cinq minutes, soit environ 133 secondes par seconde ... différence.
Le
cleanmgr
temps n'est donc certainement pas causé par ledeletion
soi! Que fait-il d'autre? S'il vous plaît M $ améliorer cette vitesse!la source
Une façon d'atténuer ce problème et d'accélérer un peu la phase "Nettoyage de Windows Update" de "Nettoyage de disque" consiste à définir temporairement une priorité plus élevée pour le processus TiWorker.exe pendant la durée de l'activité dite de "nettoyage".
Dans le volet "Détails" du gestionnaire de tâches , recherchez
TiWorker.exe
un menu contextuel et faites un clic droit dessus. Pour "Définir la priorité", choisissez "Au-dessus de la normale". Pour moi, l'TiWorker
activité du processeur a été augmentée , passant d'environ 16% en moyenne à un potentiel maximum de 25% (sur une machine à 4 cœurs).Mis à part l'accélération minuscule - et peut-être un bon sentiment d'accomplissement - cela fournit, il y a bien peu à faire car apparemment "Windows Update Cleanup" est codé de manière à ce que, pour une raison inconnue, on procède fichier par fichier, rendant le travail global horriblement lié au disque.
De plus, sachez que le processus n’est probablement pas suspendu et qu’il sera effectivement achevé un jour. Pour le vérifier (et pour vous distraire davantage pendant ce temps d'attente fastidieux ), vous pouvez consulter la section "Activité du disque" de Resource Monitor (exécutez "resmon.exe").
la source
La suppression de 20 fichiers de 5 Mo nécessitera plus de temps que celle de 10 fichiers de 64 Mo. En effet, lorsque le système supprime des fichiers, il ne les supprime pas vraiment (car un espace vide sur un lecteur peut être constitué de bits "noise"), mais écrase simplement la partie avant qui dit "Un fichier commence ici" avec du charabia, puis vous écraserez cela plus tard, ainsi que les parties suivantes, lorsque vous souhaiterez utiliser cet espace. En réalité, supprimer équivaut à écrire autrement.
Le problème avec le nettoyage de disque, ce qu’il nettoie, c’est généralement BEAUCOUP de petits fichiers (cookies Internet, fichiers temporaires, etc.). En tant que tel, l'écriture sur le disque est plus importante que beaucoup d'autres choses et peut prendre autant de temps que l'installation de nouvelles fonctionnalités, en raison de l'écriture du volume sur le disque.
la source
Autre avertissement: une partie de ce qui prend du temps est que, lors du nettoyage de WinSxS, le nettoyage de disque doit d’abord décompresser un grand nombre de fichiers. Donc, l'utilisation du disque augmente réellement pendant la première partie du nettoyage!
la source
Une autre façon d’accélérer le processus consiste à exécuter le nettoyage du disque pendant environ 5 minutes. Arrêtez-le, puis redémarrez-le, et tout ira très vite! En outre, le défragmentation ou l'optimisation préalable de votre disque dur / SSD accélérera les choses. N'oubliez pas de le défrag / Optz à nouveau après le nettoyage.
la source