Sadece soruyu ateşlemek için, sonraki adımları değiştirilemez bir sanal makinede yapmıştım:
- Bir SystemRescueCD'yi önyükleyin ve windows bölümünü bağlayın
- Diskteki tüm dosyaları bir günlük dosyasına listeleyin (bir dakikadan az)
- Windows'a yeniden başla
cleanmgr
İşini yapalım ve zamanı not alın (sekiz saatten fazla)
- SystemRescueCD'de yeniden başlatın ve pencereler bölümünü bağlayın
- Diskteki tüm dosyaları başka bir günlük dosyasına listele (bir dakikadan az)
- Değişmez sanal makineyi sıfırlayın
- Windows'a yeniden başla
- 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, cleanmgr
ancak 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 cleanmgr
sekiz 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 cleanmgr
zaman düşmüyor).
Evet, sanal diski tamamen RAM'e cleanmgr
koyarsam, 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
cleanmgr
Windows 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ı (%
cleanmgr
2 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 cleanmgr
tespit 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 cleanmgr
her dosya için yaparsa:
- HK * kayıt defterini aç
- İhtiyacınız olan her şeye bakın ve / veya kayıt defterine bazı yazılar yazın
- 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 cleanmgr
zaman deletion
kendinden kaynaklanmaz ! Başka ne yapıyor? Lütfen M $ bu hızı arttırın!