Nur eine Frage der Neugier. Die Datenträgerbereinigung hat eine ganze Weile lang 100% von einem meiner Kerne ausgegeben und läuft noch. Scheint viel Zeit zu verbringen, insbesondere mit der Windows Update-Bereinigung.
Kann nicht ganz verstehen, warum das Löschen von Dateien eine so intensive Aktivität sein sollte. Zumal es schon ziemlich viel Zeit damit verbracht hat zu berechnen, was es löschen könnte.
Warum nimmt die Datenträgerbereinigung so viel Zeit und CPU? Was macht es so intensiv?
Ich kann bestätigen, dass die Windows Updates-Bereinigung fast 100% der CPU-Auslastung beansprucht. Alles dreht sich um die WinSxS-Komprimierung und die Wiedereingliederung von Updates:
Ich habe das erste Mal nach der Windows-Installation mit der Bereinigung begonnen und es dauerte 2 Stunden, bis 50% fertig waren. Aus dem Diagramm können Sie ersehen, dass zuerst viele kleine Dateien von der Festplatte gelesen wurden (zweites Diagramm), und nach 100% CPU-Auslastung für die Komprimierung und so weiter.
quelle
Um die Frage in Brand zu setzen, hatte ich die nächsten Schritte auf einer unveränderlichen virtuellen Maschine ausgeführt:
cleanmgr
machen und notieren Sie sich die Zeit (mehr als acht Stunden)Bitte beachten Sie, dass ich auf Linux SystemRescueCd neu gestartet habe, um alle Dateien aufzulisten, auch die, die von Windows angezeigt wurden, und um eine solche Auflistung so schnell wie möglich durchzuführen (keine Acl-Prüfung usw.).
Beachten Sie auch, dass
cleanmgr
ich nur die Zeit zähle, die nach dem Ende der Suche verstrichen ist (die Suche selbst dauerte ebenfalls mehr als sechs Stunden).Das Löschen der Dateien ist also kein Problem (das Löschen selbst
cleanmgr
dauert nur fünf Minuten, dauert aber mehr als acht Stunden).Das Löschen selbst kann so schnell gehen, da der Host ein Linux ist, dass die Geschwindigkeit nur dadurch verursacht wird, dass Linux alle Schreibvorgänge in die Datei mit fester Größe zwischenspeichert, die als Festplatte auf der virtuellen Maschine (24 GB) verwendet wird, und da ich 64 GB habe RAM und ich lasse zu dem Windows 16GiB, das es weder PAGEFILE.SYS noch SWAP verwenden muss; Außerdem kann Linux die gesamte Datei im RAM speichern (ich habe mit dieser Datei im RAM getestet und die Löschzeiten sind sehr hoch, aber die
cleanmgr
Zeit vergeht nicht).Ja, wenn ich die virtuelle Festplatte vollständig in den Arbeitsspeicher
cleanmgr
stelle, sinkt die Zeit nicht, aber wenn ich die Dateien manuell lösche, sinkt die Zeit nur geringfügig (Linux-Schreibcache ist großartig, wenn Sie über 64 GB Arbeitsspeicher verfügen).Meine Konfiguration für die Tests:
Test1: Die virtuelle 24-GB-Festplatte befindet sich auf den physischen Festplatten. Test2: Die virtuelle 24-GB-Festplatte befindet sich auf dem Linux-Host-RAM
Ich befürchte, dass
cleanmgr
die Windows-Registrierung für jede gelöschte Datei geändert wird (der Zugriff auf die Registrierung ist sehr gering).Monitore, die ich hatte:
cleanmgr
wurde, mit Spitzen von 2%), der Linux-Festplatten-Cache ist wirklich großartig, um zu vermeiden, dass Daten an die reale Festplatte gesendet werdencleanmgr
wurde, mit Hechten von 28%)Ist es also klar
cleanmgr
, dass Sie eine Menge nicht nachweisbarer Arbeit verrichten, vielleicht Schlafzeiten? Möglicherweise nicht, wenn es sich um eine zugreifende Registrierung handelt, die CPU für diese nicht von Windows-Monitoren gezählt wird, die Festplatte nicht verwendet wird (die Registrierung befindet sich im RAM) usw. Jeder Zugriff auf die Registrierung kann mehr als eine Sekunde dauern. versuchen Sie Ihr eigenes Programm, um auf die Registrierung zuzugreifen, indem Sie die Registrierung öffnen und für jede Aktion schließen, anstatt die HK * öffnen zu lassen ... das ist ein großer Unterschied.Also wenn
cleanmgr
ja für jede Datei:Es kann bis zu zwei oder drei Sekunden pro Vorgang dauern, und wenn es einen Vorgang pro Datei ausführt, kann es fast eine Stunde pro tausend Dateien dauern ... Meine Anzahl von Dateien betrug nur etwas mehr als 40000 Dateien. 40000 Dateien / 8 Stunden verarbeiten also jede 1,3 Sekunden eine Datei ... auf der anderen Seite dauerte das Löschen in einem Skript (nachdem bekannt war, welche) weniger als fünf Minuten, was ungefähr 133 pro Sekunde entspricht ... eine Hufe Unterschied.
cleanmgr
Zeit wird also definitiv nicht vomdeletion
Es-Selbst verursacht! Was macht es sonst noch? Bitte verbessern Sie diese Geschwindigkeit!quelle
Eine Möglichkeit, dieses Problem zu beheben und die "Windows Update Cleanup" -Phase von "Disk Cleanup" etwas zu beschleunigen, besteht darin, für die Dauer der sogenannten "Cleanup" -Aktivität vorübergehend eine höhere Priorität für den TiWorker.exe- Prozess festzulegen .
Suchen Sie im Bereich "Details" des Task-Managers
TiWorker.exe
nach einem Popup-Menü und klicken Sie mit der rechten Maustaste darauf. Wählen Sie für "Priorität festlegen" die Option "Über Normal". Für mich erhöhte sich dieTiWorker
CPU-Aktivität von durchschnittlich 16% auf das volle Potenzial von 25% (auf einem 4-Core-Computer).Abgesehen von der winzigen Beschleunigung - und dem möglicherweise guten Erfolgserlebnis - ist nur wenig zu tun, da die Windows Update-Bereinigung anscheinend so codiert ist, dass sie aus unbekannten Gründen Datei für Datei abläuft. die Arbeit insgesamt schrecklich festplattengebunden machen.
Und wissen Sie auch, dass der Prozess höchstwahrscheinlich nicht aufgehängt ist und tatsächlich eines Tages abgeschlossen wird. Um dies zu überprüfen (und sich während dieser lästigen Wartezeit noch weiter abzulenken), können Sie den Abschnitt "Festplattenaktivität" des Ressourcenmonitors überprüfen (führen Sie "resmon.exe" aus).
quelle
Das Löschen von 20 Dateien mit einer Größe von 5 MB dauert länger als das Löschen von 10 Dateien mit einer Größe von 64 MB. Dies liegt daran, dass das System beim Löschen von Dateien diese nicht wirklich löscht (da der leere Speicherplatz auf einem Laufwerk aus Rauschbits bestehen kann), sondern nur den vorderen Teil überschreibt, der sagt: "Eine Datei beginnt hier", und zwar mit Kauderwelsch Dies und die folgenden Teile werden später gerne überschrieben, wenn Sie den Platz nutzen möchten. In Wirklichkeit ist das Löschen dasselbe wie das andere Schreiben.
Bei der Datenträgerbereinigung handelt es sich in der Regel um VIELE kleine Dateien (Internet-Cookies, temporäre Dateien usw.). Als solches schreibt es viel mehr auf die Festplatte als viele andere Dinge und kann aufgrund des Volumes, das auf die Festplatte geschrieben wird, so viel Zeit wie das Installieren von etwas Neuem in Anspruch nehmen.
quelle
Ein weiteres Wort der Warnung: Ein Teil dessen, was die Zeit in Anspruch nimmt, ist, dass beim Bereinigen von WinSxS die Datenträgerbereinigung zuerst viele Dateien dekomprimieren muss. Die Festplattenbelegung steigt also tatsächlich für den ersten Teil der Bereinigung!
quelle
Eine andere Möglichkeit, den Vorgang zu beschleunigen, besteht darin, die Datenträgerbereinigung etwa 5 Minuten lang auszuführen. Hören Sie auf, starten Sie es erneut, und es wird im Handumdrehen durchgehen! Das vorherige De-Fragging oder Optimieren Ihrer HDD / SSD beschleunigt die Dinge. Denken Sie jedoch daran, sie nach der Bereinigung erneut zu de-fraggen / optzieren.
quelle