Neden disk alanını boşaltmak bilgisayarları hızlandırıyor?


191

Bir sürü videoya bakıyorum ve şimdi bilgisayarların nasıl çalıştığını daha iyi anlıyorum. RAM'in ne olduğunu, geçici ve geçici olmayan hafızayı ve takas sürecini daha iyi anlıyorum. Ayrıca RAM artmasının neden bir bilgisayarı hızlandırdığını da anlıyorum.

Disk alanını temizlemenin neden bir bilgisayarı hızlandırdığını anlamıyorum. Yapar? Neden yapar? Bir şeyleri kurtarmak için kullanılabilir alan aramakla ilgili mı? Ya da bir şeyleri kurtarmak için yeterince uzun ve sürekli bir alan yaratmak için etrafta dolanan şeyler? Sabit diskte ne kadar boş alan bırakmalıyım?


37
PC'leri gerçekten hızlandırmaz, sadece HDD'leri yavaşlatan dosya parçalanma ihtimalini azaltır. Bu, herkesin tekrarladığı en büyük PC efsanelerinden biridir. Bilgisayardaki önyükleme noktalarını bulmak için, xperf / WPA ile izleyin.
magicandre1981

9
FWIW speeds up the experience of using a PC.
edthethird

4
@ magicandre1981: Gerçekliğin küçük bir mücevher var. Her klasörde ne kadar fazla şey olursa, dosya geçişi o kadar yavaş gerçekleşir, bu da bir dosya yolu kullanarak herhangi bir şeyi etkiler. Ama bu küçük .
Mooing Duck

4
@MooingDuck Doğru olsa da, dosyaların boyutu veya sürücüde kalan alan miktarıyla değil, bir klasördeki dosya sayısıyla ilgilidir. Bu etki kalan disk alanıyla ilgili değil. Etki aynı zamanda klasörün kapsamı dahilinde sınırlıdır, tüm bilgisayarı "yavaşlatmaz". Örneğin ext3 / 4 gibi bazı dosya sistemleri, aramaları (alt klasör erişimi de dahil olmak üzere) hızlı bir şekilde yapmak için karma dizin ağaçları kullanır , böylece efektin kapsamını daha da sınırlandırır, örneğin yalnızca bir dizinin içeriğini listelerken .
Jason C

4
Tam olarak hangi videoları izliyordun?
Loko

Yanıtlar:


313

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:

  1. 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.

  2. İş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.


Çok kapsamlı cevap, teşekkürler. Ayrıca hatırlatma için biraz kahve aldığınız için teşekkür ederiz.
Hashim

22

Nathanial Meek'in HDD'ler hakkındaki açıklamasına ek olarak , SSD'ler için farklı bir senaryo var.

SSD'ler dağınık verilere karşı hassas değildir, çünkü SSD'deki herhangi bir yere erişim süresi aynıdır. Tipik SSD erişim süresi, 10 ile 15ms arasındaki tipik bir HDD erişim süresine göre 0,1ms'dir. Ancak, zaten SSD'ye yazılmış olan verilere duyarlıdır

Mevcut verilerin üzerine yazabilen geleneksel HDD'lerin aksine, bir SSD'nin veri yazmak için tamamen boş alana ihtiyacı vardır. Bu, silinmiş olarak işaretlenmiş verileri temizleyen Trim ve Çöp Toplama adı verilen işlevler tarafından yapılır. Çöp Toplama, SSD'deki belirli bir miktar boş alanla birlikte en iyi şekilde çalışır. Genellikle% 15 ila% 25 boş alan önerilir.

Çöp toplama işlemi işini zamanında tamamlayamıyorsa, her yazma işleminden önce verilerin yazılması gereken alanın temizlenmesi gerekir. Bu, her yazma işleminin süresini iki katına çıkarır ve genel performansı düşürür.

İşte mükemmel bir makale Trim ve Çöp Toplama işleyişini açıklar


SSD'lerin, kısmen doldurulmuş hücrelere, kısmi verileri okuyarak ve daha fazla yazı ile tekrar yazarak yazabildiklerini, ancak bunu yalnızca kaçınılmaz olduğunda yapma eğiliminde olduğunu unutmayın. Bu elbette oldukça yavaştır ve genellikle sürücünün o kadar kötü parçalandığını gösterir ki, tekrar hızlı bir şekilde tekrar yazması oldukça fazla zaman alacaktır.
kabarık

Bu da kontrolöre bağlı olacaktır. Ve çok fazla varyasyon olduğundan, bu ayrıntı seviyesine gitmek istemedim.
04

Bahsettiğiniz% 15-25’e "fazla provizyon" deniyor. Bazı sürücüler, bunun için önceden ayrılmış zorunlu alana sahiptir (örneğin 1TB EVO 840,% 9'u ayrılmış ve işletim sistemine ücretsiz olarak bildirilmemiştir), herhangi bir boş alan bırakmanız gerekmiyor. Bazı durumlarda fazladan sağlanan alanın da bölümlenmemesi gerektiğine inanıyorum ve dosya sisteminizde boş alan bırakmanız onu kesmiyor, aslında ayrılmamış bir alan bırakmanız gerekecek.
Jason C

Aşırı sağlama başka bir şeydir. Bunlar kusurlu numaraların yerini almak için beklemede olanlar. Blokların (sayfaların) boşaltılması ve aşınma dengelemesi için% 15-25 gerekir. Detaylar için burada okumak isteyebilirsiniz ==> thessdreview.com/daily-news/latest-buzz/…
38

@ değil, ve linklediğiniz makale, bu olduğu anlamına gelmez. Aşırı hazırlık alanı (bu bölümdeki veya Google’daki kaynaklara bakın) veya Google’ın serbest bloklar havuzudur, bu havuzdaki bloklar çöp toplama / hızlı yazma, aşınma seviyelendirme ve hatalı hücrelerin değiştirilmesi için kullanılır. Kusurlu hücreleri değiştirmek için ise hepsi aynı havuzda; Bir kere kusurlu hücreler doluysa, tutarlı hataları görmeye başlarsınız. Ayrıca , LSI’dan bu sunumda 12. no.lu kareye bakınız ; Her şey geçmeye değer, doğrudan konuya değiniyor.
Jason C

12

Geleneksel bir sabit diskin içindeki bir yerde, ayrı ayrı bitlerin ve baytların gerçekten kodlandığı, dönen metal bir tabla vardır. Tabağa veri eklendiğinde, disk denetleyicisi önce diskin dışına depolar. Yeni veriler eklendikçe, en son diskin içine doğru hareket etmek için alan kullanılır.

Bunu akılda tutarak, disk doldurulurken disk performansının düşmesine neden olan iki etki vardır: Seek Times ve Rotational Velocity .

Times'ı Arayın

Verilere erişmek için geleneksel bir sabit diskin bir okuma / yazma kafasını fiziksel olarak doğru konuma getirmesi gerekir. Bu "zaman ara" olarak adlandırılan zaman alır. Üreticiler diskleri için arama sürelerini yayınlar ve bu genellikle birkaç milisaniyedir. Kulağa pek hoş gelmeyebilir, ama bir bilgisayara sonsuzluk. Bir görevi tamamlamak için (yaygın olan) birçok farklı disk konumunu okumak ya da yazmak zorunda kalırsanız, bunlar gözle görülür bir gecikme ya da gecikmeye ekleyebilecek zaman aramaktadırlar.

Neredeyse boş olan bir sürücü, verilerinin çoğunu aynı konumda ya da yakınında, tipik olarak okuma / yazma kafasının dinlenme konumuna yakın dış kenarda tutacaktır. Bu, diskte arama yapma ihtiyacını azaltır, aramaya harcanan zamanı büyük ölçüde azaltır. Neredeyse dolu olan bir sürücünün yalnızca diskte daha sık ve daha büyük / daha uzun arama hareketleriyle arama yapması gerekmeyecek, aynı zamanda disk aramalarını daha da artırarak aynı sektörde ilgili verileri tutmakta zorlanacak. Buna parçalanmış veri denir .

Disk alanını boşaltmak, birleştirme hizmetinin yalnızca parçalanmış dosyaları daha hızlı bir şekilde temizlemesini değil, aynı zamanda dosyaları diskin dışına doğru hareket ettirmesini, böylece ortalama arama süresinin daha kısa olmasını sağlayarak arama sürelerini iyileştirebilir.

Dönme Hızı

Sabit sürücüler sabit bir hızda dönerler (bilgisayarınız için genellikle 5400rpm veya 7200rpm ve bir sunucuda 10000rpm veya hatta 15000 rpm). Ayrıca, tek bir bitin depolanması için sürücüde (az ya da çok) sabit bir alan kaplar. Sabit bir dönüş hızında dönen bir disk için, diskin dışından diskin içine göre daha hızlı bir doğrusal hız bulunur. Bu, diskin dış kenarına yakın bitlerin okunan kafayı diskin merkezine yakın bitlerden daha hızlı bir hızda hareket ettirdiği ve böylece okuma / yazma kafasının diskin dış kenarına yakın bitleri daha hızlı okuyabildiği veya yazabildiği anlamına gelir iç.

Neredeyse boş olan bir sürücü, zamanının çoğunu diskin daha hızlı dış kenarına yakın bitlere erişerek geçirir. Neredeyse dolu olan bir disk, diskin daha yavaş iç kısmının yakınındaki bitlere erişmek için daha fazla zaman harcar.

Yine, disk alanını boşaltmak, birleştirme hizmetinin verileri diskin dışına doğru, okuma ve yazma işlemlerinin daha hızlı olduğu yere taşımasını sağlayarak bilgisayarı daha hızlı hale getirebilir.

Bazen bir disk okuma kafası için çok hızlı hareket eder ve bu etki azaltılır, çünkü dış kenara yakın sektörler okuma başlığının devam etmesi için sıra dışı yazılır. Ama genel olarak bu tutar.

Bu etkilerin her ikisi de, verileri önce diskin daha hızlı kısmında bir araya toplayan ve diskin daha yavaş olan kısımlarını kullanmayacak şekilde gruplayan bir disk denetleyicisine gelir. Disk dolarken, diskin daha yavaş kısmında daha fazla zaman harcanır.

Bu etkiler yeni sürücüler için de geçerlidir. Her şey eşit olduğunda, yeni bir 1TB sürücü, yeni bir 200 GB sürücüden daha hızlıdır, çünkü 1 TB, bitleri birbirine daha yakın depolar ve iç parçalara bu kadar hızlı dolmaz. Bununla birlikte, bunu satın alma kararlarını bildirmek için kullanmaya çalışmak nadiren yararlıdır, çünkü üreticiler 1 TB büyüklüğüne ulaşmak için birden fazla plaka, 1 TB sistemini 200 GB ile sınırlamak için daha küçük plakalar, 1 TB plakayı sadece 200 GB ile sınırlamak için yazılım / disk denetleyici kısıtlamaları kullanabilirler. 200GB'lık bir sürücü olarak çok fazla kötü sektör bulunan 1TB'lik bir sürücünün alanını veya kısmen tamamlanmış / kusurlu plakaları olan bir sürücüyü satmak.

Diğer Faktörler

Burada, yukarıdaki etkilerin oldukça küçük olduğuna dikkat çekmek önemlidir. Bilgisayar donanım mühendisleri, bu sorunları en aza indirmek için çok zaman harcıyor ve sabit disk tamponları, Superfetch önbelleğe alma ve diğer sistemler gibi şeyler sorunu en aza indirmeye çalışıyor. Bir Açık sağlıklı boş alanı bol sistemde, sen haber eşitlemek olası değil. Ek olarak, SSD'ler tamamen farklı performans özelliklerine sahiptir. Ancak, etkiler var ve sürücü dolarken bir bilgisayar yasal olarak yavaşlıyor. Üzerinde sağlıksız disk alanı çok düşük sistem, bu etkiler diski sürekli ileri geri parçalanmış verilerde arayan bir disk yıpranmasına durum oluşturabilir ve disk alanı boşaltarak daha dramatik ve farkedilir gelişmeler sonuçlanan bu düzeltebilirim .

Ek olarak, diske veri eklemek, indeksleme veya AV taramaları ve birleştirme işlemleri gibi bazı diğer işlemlerin, daha önce yaptığınız hızda veya yakınında olsa bile, arka planda daha fazla iş yapıyor olması anlamına gelir.

Son olarak, Disk performansı büyük genel PC performansı göstergesi bugünlerde ... CPU hızından daha da büyük bir gösterge. Disk çıkışındaki küçük bir düşüş bile, çoğu zaman PC performansında algılanan genel bir düşüşe eşittir. Bu özellikle sabit disk performansı CPU ve bellek geliştirmelerine ayak uyduramadığı için geçerlidir; 7200 RPM disk, on yıldan fazla bir süredir masaüstü standardı olmuştur. Her zamankinden daha fazla, bu geleneksel dönen disk, bilgisayarınızdaki darboğaz olduğunu.


1
Zamanın artması, boş alanın düşük olmasının bir sonucu değil, veri organizasyonunun bir sonucudur. Verileriniz zaten sürücünün her tarafındaysa, disk alanını boşaltmak, arama sürelerini kısaltmaz. Benzer şekilde, disk alanının tükenmesi, zaten iyi organize edilmiş ilgisiz veriler için arama sürelerini aniden artırmayacaktır. Daha önemlisi, bunlardan herhangi birini "yavaş bir bilgisayar" ile ilişkilendirmekte çok dikkatli olun. Örneğin, yalnızca tarayıcınızın çalıştırılabilir parçası parçalanmadığından ve mekanik bir sürücünün dışından çıktığından ve daha kötü durumlarda bile MP3'leriniz sorunsuz bir şekilde çalacağından, web'e daha hızlı göz atamayacaksınız.
Jason C

2
@JasonC Bu noktaların her biri yalıtımda doğrudur, ancak tüm sistemin bir parçası olarak alınan gerçek yavaşlamalar ekleyebilir. Bir örnek bu iddiası şudur: " Freeing disk space won't decrease seek times if your data is already all over the drive." Ben tek başına bu itiraz edemez ama dolandırmak hizmet artık sürücünün önüne doğru bu verileri taşıyabilirsiniz ve şimdi bu şeyler işaret edebilir olacak kere aramaya geliştirmek. Yorumunuzdaki diğer noktaların benzer sayaçları var: disk alanınız tükenmek, iyi organize edilmiş verilerin aranmasını artırmaz, ancak verilerin düzenli kalması daha az olasıdır.
Joel Coehoorn

1
Bununla birlikte, başlıklı soruyu daha doğrudan ele almak için yorumunuza dayanarak cevabımı birkaç satır ekledim.
Joel Coehoorn

Tabii ki; ama benim asıl meselelerim 1) yavaşlama , düşük boş alan birçok faktörden biri olsa bile, başka bir şeyin sonucudur; çok çabuk. Sıradan bir kullanıcı, bilgisayarlarının yavaş olduğunu fark ederse, gerçekte , örneğin, parçalanmanın (örn.) Asıl neden olması oldukça olağandışıdır. Fakat daha sonra internette bir sürü şey okudular, temizleyici, 50 disk birleştirici, bir sürü kötü kayıt defteri tweaksi hazırladılar. Buradaki kitlelere hitap etmesi gerekiyor; bilge cevaplarımıza ihtiyaç duymaz.
Jason C

Bu cevap kısa darbelere (verileri daha hızlı, dış bölgelerdeki verileri korumak için yapay olarak sınırlayan HD boyutuna) ve bununla ilgili bazı potansiyel sorunlara işaret ediyor. Ayrıca çoğu durumda, bir sürücünün daha fazla doldukça daha fazla parçalandığını inkar etmediği için de hoşuma gidiyor. Boş alanın asıl sorun olmadığını belirtmeye değer olsa da , genel bir kullanıcı deneyimi sorusuyla ilgilenirken genel kullanıcı deneyimini göz ardı etmek anlamsızca anlaşılmaz.
Smithers,

6

Diğer tüm cevaplar teknik olarak doğru - ancak her zaman bu basit örneğin en iyi açıkladığını buldum.

Çok fazla alanınız varsa , işleri sıralamak gerçekten kolaydır ... ama alanınız yoksa zor ... bilgisayarların da alana ihtiyacı var !

Bu klasik " 15 yapboz " zor / zaman alıcıdır çünkü doğru kiremitleri doğru 1-15 sırayla almak için sadece 1 boş kareniz vardır.

zor 15 yapboz

Bununla birlikte, eğer alan daha büyükse, bu bulmacayı 10 saniyenin altında bir sürede çözebilirsiniz.

kolay 15 yapboz

Bu bilmeceyle şimdiye kadar oynayanlar için ... analojinin anlaşılması doğal olarak ortaya çıkıyor. ;-)


2
Bu olsa da, herhangi bir dosya sistemi davranışına benzer değil. Bu biraz bu bulmaca benzetme göre birleştiricisi, sen bunu çözmek olarak onları istediğiniz her yerde kurulu ve yeniden bir yerden numaralarını kaldırmak sağlayan rağmen, birleştirme, sanırım genel sürecini andırmaktadır.
Jason C

2
Jason'ın yukarıdaki yorumuna ek olarak, açıkça şunu belirtmek isterim: bu cevap sıralama (birleştirme) ile ilgilidir , ancak belirli, rastgele bir döşemeye (örneğin, "3" döşemesine) erişmenin neden ikinci sırada daha hızlı olacağını açıklamıyor durumda ilk durumda olduğundan.
CVn

Çünkü sadece "3" e girmiyorsun. "1-15" e giriyorsunuz. Örnekte bunun net olmadığını kabul ederken, anlaşıldığı gibi kabul ettim. "Bu bulmaca, tek bir parçalanmış dosyaya benzer" gibi bir şeyi özellikle belirtmeye değer olabilir. Harika cevap, zihinsel olarak erişilebilir şeyleri yapar!
Smithers,

1
Açıklığa kavuşturmak için: Buradaki analojiyle ilgili temel sorun, gerçek yapbozda döşemeleri yalnızca bitişik boş alanlara taşıyabileceğinizdir. Yani, küçük örnekte, sadece 6 veya 13 boş alana taşınabildi. Bulmacayı zorlaştıran da bu; Çini oyunun amacı budur. Yine de bir sabit sürücüyü birleştirirken, örneğin 4'ü boş alana, 1'i doğru yere, vb . Taşıyabilirsiniz . Bu yüzden, benzetme gerçekten bozulur, çünkü yapbozun özü geçerli değildir: Hiçbir dosya sistemi bu şekilde çalışmaz.
Jason C,

'Çünkü sadece "3" e girmiyorsun. "1-15" "e erişiyorsunuz - bu saçmalık. Cevap, belirli bir rastgele döşemeye erişimin neden ikinci durumda birinci durumda olduğundan daha hızlı olacağını açıklamıyor, çünkü cevap tamamen yanlış. Yalnızca birleştirme işlemi, bulmacanın olduğu gibi sınırlı olmakla kalmaz, aynı zamanda “zor / zaman alan” birleştirme işleminin sistem performansı üzerinde hiçbir etkisi yoktur.
Jim Balter,

5

Dönen bir mekanik sabit sürücüde çok az disk alanı olan bir bilgisayar, önemli bir süre, dosya parçalanması arttıkça genellikle yavaşlar. Artan parçalanma yavaş okuma anlamına gelir - aşırı durumlarda çok yavaş.

Bir bilgisayar bu duruma geldiğinde, disk alanını boşaltmak sorunu çözmeyecektir. Ayrıca diski birleştirmeniz gerekir. Bir bilgisayar bu durumda olmadan, alanı boşaltmak onu hızlandırmaz; Parçalanma ihtimalinin bir sorun haline gelme ihtimalini azaltacaktır.

Bu sadece dönen mekanik sabit diskli bilgisayarlar için geçerlidir, çünkü parçalanma SSD'lerin okuma hızını ihmal edilebilir bir etkiye sahiptir.


Ana temel konuyu da ele alan iyi, temiz, basit bir cevap.
Smithers,

4

Flash diskler, dolu veya parçalanmış olduklarında kesinlikle yavaşlayabilirler, ancak yavaşlama mekanizmaları, fiziksel bir sabit sürücüde meydana gelebilecek hiçbir şeye benzemez. Tipik bir flash bellek yongası, her biri çok sayıda (binlerce olmasa da yüzlerce) yazma sayfasından oluşan ve üç ana işlemi destekleyen birkaç silme bloğuna bölünür:

  1. Flash sayfasını oku.
  2. Daha önce boş bir flash sayfasına yaz.
  3. Bir bloktaki tüm flaş sayfalarını silin.

Teorik olarak, bir flaş sürücüye her yazma işleminin bir bloktan tüm sayfaları okumasını sağlamak, tampondaki birini değiştirmek, bloğu silmek ve sonra arabelleği flaş aygıtına geri yazmak mümkün olabilirken, böyle bir yaklaşım son derece etkili olacaktır. yavaş; Ayrıca, silme işleminin başlatıldığı zaman ile yeniden yazma tamamlandıktan sonra güç kesilirse veri kaybına neden olması da muhtemeldir. Ayrıca, diskin sık yazılmış kısımları çok hızlı bir şekilde aşınır. Örneğin, FAT'in ilk 128 sektörü bir flaş bloğunda saklanırsa, sürücü, bu sektörlerin tümüne yapılan toplam yazma sayısının yaklaşık 100.000'e ulaştığı ve bu sayede 128 sektör olduğu düşünüldüğünde, çok fazla olmayan sürücü ölmüş olur. yaklaşık 16,384 FAT girişi tutabilirdi.

Yukarıdaki yaklaşım korkunç bir şekilde işe yarayacağından, sürücü boş bir sayfa tanımlamasına, verileri oraya yazmasına ve bir şekilde söz konusu mantıksal sektörün o konumda depolandığı gerçeğini kaydedecektir. Yeterli boş sayfa mevcut olduğu sürece, bu işlem hızlı bir şekilde devam edebilir. Ancak, boş sayfaların yetersiz kalması durumunda, sürücünün nispeten az sayıda "canlı" sayfa içeren bloklar bulması, bu bloklardaki canlı sayfaları kalan boş sayfaların bazılarına taşıması ve eski kopyaları "olarak işaretlemesi gerekebilir. "ölü; Bunu yaptıktan sonra, sürücü yalnızca "ölü" sayfalar içeren blokları silebilecek.

Bir sürücü yalnızca yarı doluysa, kesinlikle en az yarısı canlı sayfalarla dolu en az bir blok olacaktır (ve muhtemelen az veya hiç olmayan bazı bloklar olacaktır). Her blok 256 sayfa içeriyorsa ve en az dolu bloklar 64 canlı sayfa içeriyorsa (orta derecede kötü bir durumsa), istenen 192 her sektör için, sürücünün 64 ek sektör kopyası ve bir blok silme işlemi yapması gerekir (yani ortalama maliyet Her bir sektörün yazması yaklaşık 1.34 sayfa yazar ve 0.005 blok siler). En kötü durumda bile, her 128 sektörün yazarına 128 ek sektör kopyası ve bir blok silme (2 sayfa yazma ve 0.01 blok silme yazma başına ortalama maliyet) gerekir

Bir sürücü% 99 doluysa ve en az dolu bloklar 248/256 canlı sayfaya sahipse, o zaman her 8 sektör için 248 ek sayfa yazma ve bir blok silme işlemi gerekir, böylece 32 sayfa yazma ve 0.125 blok yazma başına bir maliyet elde edilir. siler - çok şiddetli bir yavaşlama.

Bir sürücünün ne kadar "ekstra" depolamaya bağlı olarak, işlerin o kadar da kötüleşmesine izin vermeyebilir. Bununla birlikte, bir sürücünün% 75 dolu olduğu noktada bile, en kötü durum performansı% 50 doluyken en kötü durum performansının iki katından daha kötü olabilir.


3

Neredeyse çivilenmiş. SATA HDD’yi yarı çift yönlü iletişim ortamı olarak düşünebilirsiniz (Yani, bir seferde yalnızca verileri kabul edebilir veya aktarabilir. Her ikisini de değil.) Böylece sürücü yazmak için boş bir yer ararken uzun süre bekletildiğinde için size herhangi bir veri okuyamaz. Kural olarak, bu nedenle sürücülerinizi% 80'in üzerinde kapasiteye kadar yüklememelisiniz. Ne kadar dolu olursa, sürücünün okuma istekleri sırasında bağlanmasına neden olan dosyaları parçalama olasılığı o kadar yüksektir (bu nedenle yazma isteklerini engeller).

Bu konularda yardımcı olmak için yapabileceğiniz bazı şeyler var:

  • Sakladığınız veri miktarını azaltın ve sürücünüzü düzenli olarak birleştirin.
  • Flaş tabanlı depolamaya geçin.
  • İşletim sisteminizden ayrı bir sürücüde depolanan toplu verileri saklayın.
  • Ve diğerleri ve diğerleri ...

1
Flaş kullanırken, sürücü hemen hemen anında okuyabilir veya yazabilir (Yine her ikisini de değil) (9ms, bir HDD’de oldukça standart bir arama süresidir, zira SSD’ler genellikle pico ve nano saniye aleminde “arama zamanı” na sahiptir). diskteki konumu. en.wikipedia.org/wiki/…
Nathanial Meek

7
Devam eden poing 2: Bu, örneğin $BitmapNTFS'de ya da ext4'deki bitmap ayırıcısında olduğu içindir. Yani bu cevap bazı ciddi yanlış bilgi yaymak. 3. Bu tartışmanın çoğunu sağlayan birçok okuma ve yazma tamponlama ve önbellekleme işlemi vardır. Bu cevap, parçalanmanın etkilerini biraz açıklar ve daha sonra eski dosya sistemleriyle sınırlı olsa da, kesinlikle boş alan yoktur. Disk alanını boşaltmak bilgisayarı hızlandırmaz.
Jason C

4
@ JasonC, yorumlarınızı bir cevaba dönüştürmelisiniz.
Celos

6
Bu olmadı : "sürücü yazmak için boş bir yer ararken uzun bir süre boyunca tutulduğunda, size herhangi bir veri okuyamaz" - öyle değil. Dosya sistemleri böyle çalışmıyor. Yanlış bilgi yaymayı durdurmak için lütfen cevabınızı düzenleyin.
RomanSt

2
@NathanialMeek Katmanları biraz karıştırıyorsunuz. :) SATA'nın yarı çift yönlü modu, yalnızca kablodaki verileri tek yönde iletebileceği anlamına gelir . SATA tarafından belirtilen işlem sıralarında daha yüksek seviye okuma ve yazma işlemleri küçük bloklarda (FIS olarak adlandırılır) yapılır. Eşzamansız olabilirler ve yerleşik önbellekten ve önbellekten hızlı okuma ve yazma yapılabilir ve DMA aracılığıyla doğrudan sistem belleğine yazılabilirler. SATA denetleyicileri, verimliliği optimize etmek için komutları yeniden düzenlemek için ücretsizdir. Nokta olmak: Fiziksel işlemler tamamlanırken çizgi meşgul değildir ve SATA'nın yarı çift yönlü modu, sizin düşündüğünüz bir etkiye sahip değildir.
Jason C

3

Kısa ve tatlı yaklaşımı takiben, basitleştirilmiş cevabım (kesinlikle ana kafa karışıklığınızla sınırlı):

Senin olduğu sürece

  1. İşletim sistemi, çağrı / takas / etc gibi görevlerini yerine getirmek için yeterli (en kötü senaryo senaryoları için) alana sahiptir.
  2. Diğer yazılımlar da kendi ihtiyaçları için yeterli alana sahiptir.
  3. Sabit disk birleştirildi.

Öyleyse,% 80 boş disk performansı ile% 30 boş disk arasındaki farktan bahsedemezsiniz ve daha fazla ve daha fazla yeni veri depolamaktan başka hiçbir şey için endişelenmemelisiniz.

Daha fazla depolamaya ihtiyaç duyan herhangi bir şey, şu anda uygun yer sıkıntısı olabileceğinden kötü performanslara yol açacaktır.

Elbette bir araçla disk temizliği şöyledir:

  1. Değerli disk alanı kazanmak için geçici dosyalar düzenli olarak temizlenmelidir.
  2. Eski Log dosyaları, boş alan kaybından başka bir şey değildir.
  3. Yüklenen / Kaldırılan yazılımın artıkları çok kötüdür.
  4. Çevrimiçi gizliliğinize önem veriyorsanız, çerezler temizlenmelidir.
  5. Geçersiz kısayollar, vb.

Tüm bu (ve daha pek çoğu) nedenler, çalışmak için doğru uçları bulurken, bunların hepsi işletim sisteminin kafasını karıştırmaya devam ettiği için daha düşük performansa yol açar.


İyi bir özet, ama "BUT" bölümü hakkında pek emin değil. Özellikle: 3) Genel çılgınca çıkmalara rağmen, genel olarak gözle görülür bir performans etkisi yoktur 4) Çerezler, doğal olarak sorunlu değildir ve görüş ne olursa olsun, mahremiyet performans veya sabit disk alanı ile ilgili değildir, 5) Kırılan kısayollar çirkindir, ancak genellikle aksi takdirde önemsiz. Bunların hiçbiri ortak bir işletim sistemini gerçekten "karıştırmaz". Takip ettiğiniz "ipuçları" ve "ince ayarlar" konusunda çok dikkatli olun. Gereksiz temizleme araçlarına da dikkat edin, özellikle de kayıt defteri temizleyicileri sıfır yararlanma riski taşır.
Jason C,

2

Daha önce bahsetmediğim dönme diskleri üzerindeki bir etki: Erişim hızı ve veri aktarım hızı, bir diskin farklı bölümlerinde farklıdır.

Bir disk sabit hızda döner. Bir diskin dışındaki izler daha uzundur ve bu nedenle iz başına düşen verileri içerideki izlerden daha fazla tutabilir. Sürücünüz en dıştaki parçalardan 100 MB / sn okuyabilirse, en içteki parçalardaki hız 50 MB / sn'den az olacaktır.

Aynı zamanda, diskin dış izlerindeki 1 GB veri arasında, en içteki parçalardaki 1 GB veri arasında daha az iz vardır. Bu nedenle, ortalama olarak, dışarıda depolanan veriler için, en içteki parçalardaki verilerden daha az kafa hareketi gerekir.

İşletim sistemi mümkünse en dıştaki parçaları kullanmaya çalışacaktır. Disk dolu ise elbette mümkün değil. Verilerin silinmesi, transfer hızının daha yüksek olduğu yerlerde yer açılmasına ve işlerin daha hızlı çalışmasına neden olur. Aynı sebepten dolayı, hız istiyorsanız (uygun olduğu sürece) dönen sabit diskleri gerekenden daha büyük satın almalısınız, çünkü sadece sürücünün en hızlı kısımlarını kullanacaksınız.


Ekleme: en.wikipedia.org/wiki/Zone_bit_recording , bu konuda bazı detaylarla isabet ediyor. Kayda değer: Mevcut veriler dolaşılmayacak. Bu, yeni verilerin depolanmasını etkileyebilir (sürücüdeki yere bağlı, doğrudan boş alana değil), ancak içeride yazılmadan önce erişilen mutlu dosyaları "yavaşlatmaz". Amazon'da bulduğum en ucuz 1TB 7200RPM 3.5 "sürücüyü Fwiw, kullanıcı tarafından karşılaştırmalı ortalama bir 144 MB / sn okuma oranına sahip; iç ve dış hatlardaki farklılıkları hesaba katarken, bu sıradan kullanım sırasında bir darboğaz olmayabilir.
Jason C

Ardışık verim açısından @ JasonC I / O performansı pratikte neredeyse hiç endişe verici değildir; yavaş bir 4900 rpm sürücü bile neredeyse her kullanıcı için yeterince hızlı olacaktır. Saniyedeki okuma / yazma işlemleri bakımından G / Ç performansı, çoğu durumda performansı düşüren şey olacak; Yerel eğilimli sysadmin'inize çok eğimli kullanıyorsanız, çok kullanıcılı sistemlerde rotasyonel depolama IOPS'lerini sorun. Bu günlerde pratikte kimsenin çok kullanıcılı sistemler için rotasyonel depolama kullanmamasının büyük nedeni budur; SSD'lerin IOPS'lerine asla yaklaşamazsınız.
CVn
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.