Disk Temizleme neden bu kadar zaman alıyor ve işlemci kullanıyor?


29

Sadece bir merak sorusu. Disk Temizleme, çekirdeklerimin% 100'ünü bir süredir harcıyor ve hala devam ediyor. Özellikle Windows Update Temizleme'de çok zaman harcıyor gibi görünüyor.

Dosyaları silmenin neden bu kadar yoğun bir etkinlik olması gerektiğini tam olarak anlayamıyorum. Özellikle de, silebileceği şeyi hesaplamak için çok zaman harcadığı için.

Disk Temizleme neden bu kadar zaman alıyor ve işlemci kullanıyor? Bu ne kadar yoğundur?

Dört çekirdekten ikisi maksimuma çıktı

Yanıtlar:


20

Windows, değiştirilemeyen güncellemeleri kaldırarak ve kaldırılamayan ve fark edilmeyen dosyaları sıkıştırarak dosyaları sıkıştırarak WinSxS klasörünü sıkıştırır. Bu çok fazla CPU gücü gerektiriyor ve bu yüzden yüksek bir CPU kullanımı görüyorsunuz.

Bunu doğrulamak için CPU kullanımını xperf / WPA ile analiz edebilirsiniz .


Ayrıca, en eski dosyaları (yakın zamanda açmamış olanlar) sıkıştırırken tasarruf edilen alanı da hesaplamaz mı?
Justin Goldberg

Güzel video! Kesinlikle bu alete
bakacak

@Svish bunu doğruladınız mı? Soru cevaplandı mı?
magicandre1981

4

Windows Güncellemeleri Temizleme işleminin neredeyse% 100 CPU kullanımı gerektirdiğini onaylayabilirim, bunların tümü WinSxS sıkıştırması ve güncellemelerin yeniden entegrasyonu ile ilgilidir:

Windows Temizleme% 100 CPU kullanımı

Windows kurulumundan sonra ilk kez temizlemeye başladım ve% 50'nin tamamlanması 2 saat sürdü. Grafikten, diskteki küçük dosyaların ilk okunması sırasında (ikinci grafik) ve sıkıştırma için% 100 CPU kullanımından sonra görebilirsiniz.


2

Sadece soruyu ateşlemek için, sonraki adımları değiştirilemez bir sanal makinede yapmıştım:

  1. Bir SystemRescueCD'yi önyükleyin ve windows bölümünü bağlayın
  2. Diskteki tüm dosyaları bir günlük dosyasına listeleyin (bir dakikadan az)
  3. Windows'a yeniden başla
  4. cleanmgrİşini yapalım ve zamanı not alın (sekiz saatten fazla)
  5. SystemRescueCD'de yeniden başlatın ve pencereler bölümünü bağlayın
  6. Diskteki tüm dosyaları başka bir günlük dosyasına listele (bir dakikadan az)
  7. Değişmez sanal makineyi sıfırlayın
  8. Windows'a yeniden başla
  9. Bir yönetici komut isteminde (cmd) bu dosyaları silmek için bir FOR / F ... yapın ve süreyi not alın (beş dakikadan az)

Lütfen Windows SystemRescueCd yazılımına yeniden başladığımı ve tüm dosyaları listeleyebildiğimi, aynı zamanda Window tarafından bakılanları listeleyebildiğimi ve bu listeyi olabildiğince çabuk yapabildiğimi (acl kontrolü yok, vb.) Unutmayın.

Ayrıca şunu unutmayın, cleanmgrancak arama bittikten sonra sadece süreyi sayıyorum (aramanın kendisi de altı saatten uzun sürüyor).

Bu yüzden dosyaları silmek botle boyun değildir (silme sadece beş dakikaya ihtiyaç duyar, ancak cleanmgrsekiz saatten fazla sürer).

Ana bilgisayar bir Linux olduğu için kendini silme işlemi o kadar hızlı olabilir ki, bu hızın nedeni Linux'un tüm yazmaları sanal makinede (24GiB) disk olarak kullanılan sabit boyutlu dosyaya önbelleğe almasından ve 64GiB'den beri RAM ve Windows 16GiB'ye izin verip SWAP kullanmamıza gerek yok PAGEFILE.SYS; Dahası, Linux tam dosyayı RAM'de tutabilir (bu dosyayı RAM'de test ettim ve silme zamanları çok bitti, ancak cleanmgrzaman düşmüyor).

Evet, sanal diski tamamen RAM'e cleanmgrkoyarsam, zaman azalmaz, ancak dosyaları manüel olarak silersem, o zaman sadece biraz düşer (64GiB RAM kullanıyorsanız Linux yazma önbelleği harikadır).

Testler için yapılandırmam:

  • Ana bilgisayar: Linux 64bits, ana parçaların 64GiB RAM'li AMD Deca Core 5GHz ve iki WD VelociRaptor HDD'si olan bir Sata Raid0 denetleyicisi (1GiB / s değerine yakın bir sekansal yazma hızı ve 4K'lık rasgele yazımını sürdürebilen bir donanım üzerinde dağıtıyor) 300MiB / s); maliyet> on bin euro
  • Misafir: 16GiB ram ve 24GiB Sanal diskli Windows 10 Home

Test1: Fiziksel sabit disklerde 24GiB sanal diske sahip Test2: Linux host RAM'inde 24GiB sanal diske sahip

cleanmgrWindows kayıt defterinde sildiği her dosya başına bir şey yapmaktan korkuyorum (kayıt defterine erişmek çok düşük).

Sahip olduğum monitörler:

  • Linux sunucusunda ve Windows Misafirinde CPU kullanımı (çoğu zaman% 0 ile% 1 arasında,% 5 ile pik yok)
  • Linux ana bilgisayarında HDD kullanımı (% cleanmgr2 civarında pik ile çalışırken,% 2'ye yakın), Linux disk önbelleği, gerçek diske gönderilmekten kaçınmak için gerçekten harika
  • Windows misafirinde HDD kullanımı (en çok% 2 ile% 15 arasında cleanmgrçalışırken% 28 ile% 15 arasında)

Öyleyse açıkça cleanmgrtespit edilemeyen birçok iş yapıyor, belki uyku zamanları? Belki de, kayıt defterine izin vermiyorsa, bunun için CPU Windows monitörleri tarafından sayılmaz, bunun üzerine HDD kullanılmaz (kayıt defteri RAM'dedir) vb. Ve kayıt defterine erişimin bir saniyeden uzun sürebilir kayıt defterini açıp HK * 'nin açılmasına izin vermek yerine her bir işlem için onu kapatarak kendi programınızı deneyin.

Yani cleanmgrher dosya için yaparsa:

  1. HK * kayıt defterini aç
  2. İhtiyacınız olan her şeye bakın ve / veya kayıt defterine bazı yazılar yazın
  3. HK * kayıt defterini kapat

İşlem başına iki veya üç saniye sürebilir ve dosya başına bir işlem yaparsa, her dosya başına bir saat kadar sürebilir ... dosya sayım 40000 dosyadan biraz daha fazlaydı, 40000 dosya / 8 saat, 1.3 saniyede bir dosyayı işliyor, diğer tarafta ... bir komut dosyasını silmek (hangilerini bildikten sonra) beş dakikadan daha az bir zaman alıyor, bu da saniyede 133 siliyor ... farkı.

Bu yüzden kesinlikle cleanmgrzaman deletionkendinden kaynaklanmaz ! Başka ne yapıyor? Lütfen M $ bu hızı arttırın!


1
Bu asıl sorunun cevabı değil . Yeni bir sorunuz varsa, lütfen kendi sorunuzu sorun (eğer yardımcı olursa bağlam için bu konuyu referans alın).
DavidPostill

Windows kayıt defteri vb. İşlemlerini analiz etmek için neden işlem izleyiciyi ( docs.microsoft.com/en-us/sysinternals/downloads/procmon ) kullanmadınız?
cybernard

* i m değişken sp.
StingyJack

2

Bu sorunu hafifletmenin ve "Disk Temizleme" nin "Windows Update Temizleme" aşamasını biraz hızlandırmanın bir yolu, 'temizleme' etkinliği adı verilen süre boyunca TiWorker.exe işlemi için geçici olarak daha yüksek bir öncelik belirlemektir .

Gelen Görev Yöneticisi 'Ayrıntılar' bölmesinde, bulmak TiWorker.exeve bir pop-up menü göstermek için sağ tıklayın. 'Öncelik Ayarla' için, "Normalden Yüksek" seçeneğini seçin. Benim için bu, TiWorkerCPU etkinliğini - ortalama% 16'dan ortalama -% 25'lik tam potansiyeline (4 çekirdekli bir makinede) yükseltti .

görüntü tanımını buraya girin

Minik hızın yanı sıra - ve muhtemelen iyi bir başarı hissi - dışında, bu, "Windows Update Temizleme", bilinmeyen bir nedenden dolayı dosya yoluna devam edecek şekilde kodlandığı için yapılabilecek çok az şey var. Genel çalışma korkunç diske bağlı yapma.

Ve ayrıca, sürecin büyük olasılıkla askıya alınmadığını ve bir gün gerçekten tamamlanacağını da bilin . Bunu doğrulamak (ve bu rahatsız edici bekleme süresi boyunca kendinizi daha da dikkat dağıtmak için), Kaynak İzleyicinin 'Disk Etkinliği' bölümünü kontrol edebilirsiniz ("resmon.exe" yi çalıştırın).


Çok güzel hız!
sübjektivist

1

20 MB 5 MB boyutundaki dosyayı silmek, 64 MB boyutundaki 10 dosyadan daha uzun sürecektir. Bunun nedeni, sistem dosyaları silerken, onları gerçekten silmemesidir (bir sürücüdeki boş alan "gürültü" bitlerinden yapılabildiği gibi), ancak sadece "Bir dosya burada başlar" diyen ön kısmın üzerine yazıyor ve ardından Boşluk kullanmak istediğinizde, bunun ve sonraki bölümlerin üzerine mutlulukla yazılacaktır. Gerçekte, silme, aksi takdirde yazmakla aynıdır.

Disk temizliği olan şey, temizlediği şey genellikle küçük dosyalardan (internet çerezleri, geçici dosyalar vb.) Çoktur. Bu nedenle, diske bir çok diğer şeyden çok diske daha çok yazı yazıyor ve diske yazılan birim nedeniyle yeni bir şey yüklemek kadar zaman alabilir.


Orijinal soru özellikle Disk Temizleme hakkında sorar.
liljoshu

0

Diğer bir uyarı kelimesi: Zaman alan işlemin bir kısmı da WinSxS’i temizlerken, Disk Temizleme’nin birçok dosyayı açması gerekiyor. Bu nedenle, temizliğin ilk kısmı için disk kullanımı gerçekte artmaktadır!


-2

İşlemi hızlandırmanın bir başka yolu da Disk Temizleme işlemini yaklaşık 5 dakika çalıştırmaktır. Durdur onu, sonra yeniden başlat, ve hemen geçecek! Ayrıca, HDD’yi / SSD’nizi Önceden De-Fragging veya Optimize Etmek işleri hızlandıracaktır, yalnızca temizlemeden sonra yeniden ayırmayı / Optz yapmayı unutmayın.


Lütfen SSD'nizi birleştirmeyin, okuma ve yazma çevrimlerini yitirir ve neredeyse hiç kazancı olmaz.
Nordlys Jeger

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.