Burada kazayla bir kitap yazdım. Önce biraz kahve al.
Neden disk alanını boşaltmak bilgisayarları hızlandırıyor?
En azından kendi başına değil. Bu gerçekten yaygın bir efsanedir. Sabit sürücüyü dolduruyor genellikle geleneksel başka şeyler ile aynı anda olur çünkü ortak bir efsanedir nedeni olabilir yavaşlatmak † bilgisayarınızı. SSD performansı , sürücü doldukça düşme eğilimindedir , ancak bu, SSD'lere özgü olan nispeten eski bir konudur ve sıradan kullanıcılar için gerçekten farkedilmez. Genellikle, düşük boş disk alanı sadece kırmızı bir ringa balığıdır .
Örneğin, şöyle şeyler:
Dosya parçalanması. Dosya parçalanma olan bir konu †† kesinlikle biri ise, ancak boş alan eksikliği birçok katkıda faktöre değil sadece bunun nedeni. Buradaki bazı önemli noktalar:
Bir parçanın parçalanma şansı , sürücüde kalan boş alan miktarıyla ilgili değildir . Bunlar, sürücü üzerindeki en büyük bitişik boş alan bloğunun büyüklüğü ile ilgilidir (örneğin, boş alanın "delikleri"), bu boş alan miktarı bir üst sınır koymak için meydana gelir . Ayrıca dosya sisteminin dosya tahsisini nasıl yönettiği ile de ilgilidir (aşağıda daha fazlası). Şunu düşünün: Tek bir bitişik bloktaki tüm boş alanlarla% 95 dolu bir sürücünün, ††† (ve eklenmiş bir dosyayı parçalama şansı boş alandan bağımsızdır) yeni bir dosya oluşturma şansı% 0'dır . % 5 dolu ancak sürücünün üzerine düzgün bir şekilde yayılmış verileri olan bir sürücünün çok yüksek parçalanma olasılığı vardır.
Dosya parçalamanın yalnızca parçalanmış dosyalara erişildiğinde performansı etkilediğini unutmayın . Bir düşünün: İçinde hala bir sürü boş "delik" olan hoş, birleştirilmiş bir sürücünüz var. Ortak bir senaryo. Her şey sorunsuz çalışıyor. Sonunda, daha fazla boş alan kalmayacak bir noktaya gelirsiniz. Büyük bir film indirirseniz, dosya ciddi şekilde parçalanır. Bu, bilgisayarınızı yavaşlatmaz. Tüm uygulama dosyalarınız ve daha önce iyi olan dosyalar aniden parçalanmayacaktır. Bu film yapabilir(tipik film bit hızlarının büyük olasılıkla farkedilmeyecek olan sabit disk okuma hızlarına kıyasla çok düşük olmasına rağmen) yüklenmesi daha uzun sürer ve film yüklenirken G / Ç bağlı performansı etkileyebilir , ancak bunun dışında hiçbirşey değişmez.
Dosya parçalanması kesinlikle bir sorun olsa da, etkilerin çoğu zaman işletim sistemi ve donanım düzeyinde arabelleğe alma ve önbelleğe alma ile azaltılır. Gecikmeli yazmalar, ileriye dönük okumalar , Windows'ta ön tarayıcı gibi stratejiler vb. Parçalanmanın etkilerini azaltmaya yardımcı olur. Genellikle yok aslında parçalanma şiddetli hale gelene kadar (hatta sürece takas dosyası parçalanmış olmadığı için, muhtemelen fark asla söylemek girişim olacaktır) önemli bir etkisi deneyim.
Arama indeksleme başka bir örnektir. Diyelim ki otomatik dizin oluşturma özelliğini açtınız ve bunu incelikle yapmayan bir işletim sistemi var. Bilgisayarınıza gittikçe daha fazla endekslenebilir içerik kaydederken (belgeler ve benzeri), indeksleme daha uzun sürebilir ve çalışırken, hem G / Ç hem de CPU kullanımında bilgisayarınızın algılanan hızını etkilemeye başlayabilir . Bu boş alanla ilgili değildir, sahip olduğunuz indekslenebilir içeriğin miktarı ile ilgilidir. Ancak, boş alanın tükenmesi, daha fazla içerik depolamakla el ele gider, bu nedenle yanlış bir bağlantı çizilir.
Antivirüs yazılımı. Arama indeksleme örneğine benzer. Diyelim ki sürücünüzde arka plan taraması yapacak şekilde ayarlanmış virüsten koruma yazılımınız var. Taranabilir içeriğiniz gittikçe arttıkça, arama daha fazla G / Ç ve CPU kaynağını alır ve muhtemelen işinize müdahale eder. Yine, bu sahip olduğunuz taranabilir içeriğin miktarı ile ilgilidir. Daha fazla içerik genellikle daha az boş alana eşittir, ancak boş alana sahip olmanın nedeni bu değildir.
Yüklü yazılımı. Diyelim ki, bilgisayarınız önyüklendiğinde yüklenen ve böylece başlatma zamanlarını yavaşlatan bir sürü yazılımın yüklü olduğunu varsayalım. Bu yavaşlama, çok sayıda yazılım yüklendiğinden oluşur. Ancak, yüklü yazılım sabit disk alanı kaplar. Bu nedenle, sabit disk boş alanı, bunun gerçekleştiği anda azalır ve yine yanlış bir bağlantı yapılabilir.
- Bu çizgiler boyunca, bir araya getirildiğinde, boş alan eksikliğini daha düşük performansla yakından ilişkilendirdiği görülüyor .
Yukarıdakiler, bunun böyle yaygın bir efsane olmasının başka bir nedenini göstermektedir: Boş alan eksikliği, yavaşlamanın doğrudan bir nedeni olmamakla birlikte, çeşitli uygulamaları kaldırmak, dizine alınmış veya taranmış içeriği kaldırmak vb. Bazen (ancak her zaman değil; bunun kapsamı dışındadır). cevap) kalan boş alan miktarı ile ilgili olmayan nedenlerden dolayı performansı tekrar artırır . Ancak bu aynı zamanda doğal olarak sabit disk alanını boşaltır. Bu nedenle, yine, "daha fazla boş alan" ve "daha hızlı bilgisayar" arasında belirgin (ancak yanlış) bir bağlantı yapılabilir.
Bir düşünün: Çok sayıda yüklü yazılım vb. Nedeniyle yavaş çalışan bir makineniz varsa ve sabit sürücünüzü daha büyük bir sabit sürücüye klonladıysanız, daha fazla boş alan kazanmak için bölmelerinizi genişletin, makine sihirli bir şekilde hızlanmayacaktır yukarı. Aynı yazılım yüklenir, aynı dosyalar hala aynı şekillerde parçalanır, aynı arama dizini oluşturucusu hala çalışır, daha fazla boş alana sahip olmasına rağmen hiçbir şey değişmez.
Eşyaların kaydedileceği bir hafıza alanı aramakla mı ilgili?
Hayır. Burada dikkat edilmesi gereken iki önemli şey var:
Sabit diskiniz bir şeyler koyacak yerler bulmak için etrafta arama yapmıyor. Sabit diskiniz aptalca. Önemli değil. OS'nizin söylediği şeyleri kör bir şekilde söyleyen ve ne istenirse okuyan, büyük bir adresli depolama bloğu. Modern sürücüler, işletim sisteminin zaman içinde kazandığımız deneyime dayanarak ne isteyeceğini tahmin etmek üzere tasarlanan sofistike önbellekleme ve tamponlama mekanizmalarına sahiptir (bazı sürücüler, üzerinde olan dosya sisteminin bile farkındadır), fakat aslında, düşünün ki ara sıra bonus performans özellikleri ile sürüşünüz sadece büyük bir aptal depolama tuğlası gibi.
İşletim sisteminiz de bir şeyler koyacak yerleri aramaz. "Aramak" yok. Dosya sistemi performansı açısından kritik öneme sahip olduğundan, bu sorunu çözmek için çok çaba sarf edilmiştir. Verilerin sürücünüzde gerçekte düzenlenme şekli dosya sisteminiz tarafından belirlenir. Örneğin, FAT32 (eski DOS ve Windows PC'ler), NTFS (sonraki Windows), HFS + (Mac), ext4 (bazı Linux'lar) ve diğerleri. Bir "dosya" ve "dizin" kavramı bile sadece tipik dosya sistemlerinin bir ürünüdür - sabit sürücüler "dosyalar" adı verilen gizemli canavarlarla ilgili bilgi sahibi değildir. Detaylar bu cevabın kapsamı dışındadır. Ancak, temel olarak, tüm yaygın dosya sistemlerinde, kullanılabilir alanın sürücüde olduğu yerlerde izleme yöntemleri vardır; bu nedenle, normal koşullar altında (yani sağlık durumundaki dosya sistemleri gibi) boş alan aranması gereksizdir. Örnekler:
NTFS , özel dosyaları vb. İçeren bir ana dosya tablosuna$Bitmap
ve sürücüyü tanımlayan birçok meta verilere sahiptir. Temel olarak bir sonraki boş blokların nerede olduğunu izler, böylece yeni dosyaları sürücüyü her seferinde taramak zorunda kalmadan doğrudan boş bloklara yazabilir.
Başka bir örnek, ext4 "bitmap allocator" olarak adlandırılan şeydir , ext2 ve ext3'teki bir gelişmedir, temel olarak doğrudan serbest blokların serbest bloklar listesini taramak yerine nerede olduklarını belirlemesine yardımcı olur. Ext4 ayrıca "gecikmeli tahsisi" (yani, parçalanmayı azaltmak için nereye yerleştireceğine dair daha iyi kararlar almak için sürücüye yazmadan önce işletim sistemi tarafından RAM'deki verilerin tamponlanmasını da destekler).
Diğer birçok örnek.
veya bir şeyi kurtarmak için yeterince uzun ve sürekli bir alan oluşturmak için etrafta dolaşan şeyler ile mi?
Hayır. Bu olmaz, en azından bildiğim herhangi bir dosya sisteminde. Dosyalar daha yeni parçalandı.
“Bir şeyleri kurtarmak için yeterince uzun ve bitişik bir alan oluşturmak için etrafta dolaşmak” sürecine birleştirme denir . Dosyalar yazıldığında bu olmaz. Disk birleştiricinizi çalıştırdığınızda bu olur. Yeni Windows'ta, en azından bu otomatik olarak bir zamanlamaya göre gerçekleşir, ancak hiçbir zaman bir dosya yazılarak tetiklenmez.
Edebilme önlemek bu gibi şeyler etrafında hareket sistem performansını dosya anahtarıdır ve birleştirme ayrı bir adım olarak neden var parçalanma olur ve neden olduğunu.
Sabit diskte ne kadar boş alan bırakmalıyım?
Bu cevaplanması zor bir soru ve bu cevap zaten küçük bir kitaba dönüştü.
Genel kurallar:
Tüm sürücü tipleri için:
- En önemlisi, bilgisayarınızı etkin bir şekilde kullanmanız için yeterli boş alan bırakın . Çalışacak yeriniz tükeniyorsa, daha büyük bir sürücü isteyeceksiniz.
- Birçok disk birleştirme aracı çalışmak için en az miktarda boş alan gerektirir (bence Windows'lu olanı% 15 en kötü durum gerektirir). Bu boş alanı, başka şeyler yeniden düzenlendiğinde parçalanmış dosyaları geçici olarak tutmak için kullanırlar.
- Diğer işletim sistemi işlevleri için boşluk bırakın. Örneğin, makinenizde çok fazla fiziksel RAM yoksa ve dinamik boyutta bir sayfa dosyasıyla etkinleştirilmiş sanal belleğiniz varsa, sayfa dosyasının maksimum boyutu için yeterli alan bırakmak istersiniz. Ya da hazırda bekletme moduna geçirdiğiniz bir dizüstü bilgisayarınız varsa, hazırda bekletme durumu dosyası için yeterli boş alana ihtiyacınız olacaktır. Bunun gibi şeyler.
SSD özgü:
- Optimum güvenilirlik (ve daha az ölçüde performans) için SSD'ler, aynı yere sürekli yazmamak için (bunları kullanan) sürekli olarak veriyi yaymak için kullandıkları bir miktar boş alan gerektirir. Bu boş alan bırakma kavramına aşırı tedarik denir . Bu önemlidir, ancak birçok SSD'de, zorunlu aşırı tedarik alanı zaten mevcuttur . Diğer bir deyişle, sürücülerin çoğu zaman işletim sistemine bildirdiklerinden birkaç düzine daha fazla GB’sı vardır. Alt uç sürücüler genellikle bölümlenmemiş alanı el ile bırakmanızı gerektirir , ancak zorunlu OP'ye sahip sürücüler için boş alan bırakmanıza gerek yoktur . Burada dikkat edilmesi gereken önemli bir şeyfazla hazırlıklı alan çoğu zaman yalnızca bölümlenmemiş alandan alınır . Bu nedenle, bölümünüz tüm sürücünüzü kullanıyorsa ve üzerinde biraz boş alan bırakırsanız, bu her zaman sayılmaz. Çoğu zaman, el ile aşırı sağlama, bölümünüzü sürücünün boyutundan daha küçük olacak şekilde küçültmenizi gerektirir. Ayrıntılar için SSD'nizin kullanım kılavuzuna bakın. TRIM ve çöp toplama ve bunun gibi etkileri de var ama bunlar bu cevabın kapsamı dışında.
Şahsen, genellikle yaklaşık% 20-25 boş alan kaldığında daha büyük bir sürücü alırım. Bu performansla ilgili değil, sadece bu noktaya geldiğimde, yakında veri için yeterli alan kalmayacağını ve daha büyük bir sürücü alma zamanı geleceğini umuyorum.
Boş alanı izlemekten daha önemli olan, uygun olan yerlerde (SSD'lerde değil) zamanlanmış birleştirme işleminin etkinleştirildiğinden emin olmaktır; Aynı derecede önemli olan, yanlış yönlendirilmiş ayarlardan kaçınmak ve işletim sisteminizin işini yapmasına izin vermek, örneğin , Windows ön ayarlayıcıyı ( SSD'ler hariç ) devre dışı bırakma , vb.
Söylemeye değer son bir şey var. Buradaki diğer cevaplardan biri SATA'nın yarı çift yönlü modunun aynı anda okuma ve yazmayı engellediğinden bahsetti. Doğru olsa da, bu büyük ölçüde basitleştirilmiştir ve çoğunlukla burada tartışılan performans sorunlarıyla ilgisi yoktur. Bunun anlamı, basitçe, verilerin kablo üzerinde her iki yönde aynı anda aktarılamamasıdır . Bununla birlikte, SATA minik maksimum blok boyutlarını (tel üzerinde blok başına yaklaşık 8kB, sanırım), çalışma sıralarını okuyup yazmayı, vb. İçeren oldukça karmaşık bir özelliğe sahiptir ve okumalar devam ederken arabelleklerin yazılmasını engellememektedir. işlemler vb.
Oluşan herhangi bir engelleme, genellikle bol miktarda önbellekle azaltılan fiziksel kaynaklar için rekabetten kaynaklanıyor olabilir. SATA'nın dubleks modu burada neredeyse tamamen anlamsız.
† "Yavaşlamak" geniş bir terimdir. Burada, G / Ç'ye bağlı olan şeyleri belirtmek için kullanıyorum (örneğin, bilgisayarınız orada oturup, sayıları zorlanıyorsa, sabit sürücünün içeriğinin hiçbir etkisi yoktur) veya CPU'ya bağlı ve teğetsel olarak ilgili olanlarla rekabet eden CPU kullanımı yüksek (ör. tonlarca dosyayı tarayan antivirüs yazılımı).
†† SSD'ler , sıralı erişim hızlarının genel olarak rastgele erişime göre daha hızlı olmaları nedeniyle parçalanmadan etkilenir, ancak SSD'ler mekanik bir cihazla aynı sınırlamalarla karşılaşmazlar (o zaman bile, parçalanma eksikliği, aşınma seviyesine bağlı olarak sıralı erişimi garanti etmez. , James Snell yorumlarda yazdığı gibi). Ancak, hemen hemen her genel kullanım senaryosunda, bu bir sorun değildir. SSD'ler üzerinde parçalanma nedeniyle performans farklılıkları genellikle uygulamaları yüklemek, bilgisayarı başlatmak, vb. İçin önemsizdir.
††† bilerek dosya parçalamayan akıllıca bir dosya sistemi varsayarsak.