Bilgisayarlar ve nasıl çalıştıkları hakkında daha fazla şey öğrenirken, bazen mantıklı görünmeyen bir şeyle karşılaşırsınız. Bunu akılda tutarak, disk alanını boşaltmak aslında bilgisayarları hızlandırır mı? Bugünün Süper Kullanıcı Soru-Cevap gönderisinde şaşkın bir okuyucunun sorusunun cevabı var.
Bugünün Soru-Cevap oturumu bize, topluluk odaklı bir Soru-Cevap web siteleri grubu olan Stack Exchange'in bir alt bölümü olan SuperUser'ın izniyle geliyor.
Ekran görüntüsü izniyle kum (Flickr) .
Soru
SuperUser okuyucu Remi.b, disk alanını boşaltmanın neden bir bilgisayarı hızlandırdığını bilmek istiyor:
Çok fazla video izliyorum ve şimdi bilgisayarların nasıl çalıştığını biraz daha iyi anlıyorum. RAM'in ne olduğunu, geçici ve kalıcı bellek hakkında ve takas sürecini anlıyorum. Ayrıca RAM'in artmasının bir bilgisayarı neden hızlandırdığını da anlıyorum.
Anlamadığım şey, disk alanını temizlemenin neden bilgisayarı hızlandırdığı. Bir bilgisayarı gerçekten hızlandırır mı? Öyleyse neden böyle yapıyor?
Bir şeyleri kurtarmak için bellek alanı aramakla veya bir şeyleri kurtarmak için yeterince uzun sürekli bir alan oluşturmak için bir şeyleri hareket ettirmekle bir ilgisi var mı? Bir sabit diskte ne kadar boş alan bırakmalıyım?
Disk alanını boşaltmak neden bir bilgisayarı hızlandırıyor?
Cevap
SuperUser katılımcısı Jason C'nin cevabı bizim için:
"Disk alanını boşaltmak bilgisayarları neden hızlandırır?"
En azından kendi başına değil. Bu gerçekten yaygın bir efsanedir. Bunun yaygın bir efsane olmasının nedeni, sabit sürücünüzü doldurmanın genellikle geleneksel olarak bilgisayarınızı yavaşlatabilecek diğer şeylerle aynı anda gerçekleşmesidir. (A) . SSD performansı, doldukça düşme eğilimindedir, ancak bu SSD'lere özgü nispeten yeni bir sorundur ve sıradan kullanıcılar için gerçekten farkedilemez. Genellikle, düşük boş disk alanı sadece kırmızı ringa balığıdır.
Örneğin, aşağıdaki gibi şeyler:
1. Dosya parçalanması. Dosya parçalanması bir sorundur (B) ancak boş alan eksikliği, kesinlikle katkıda bulunan birçok faktörden biri olsa da, bunun tek nedeni değil. Burada bazı önemli noktalar:
- Bir dosyanın parçalanma şansı değil sürücüde kalan boş alan miktarıyla ilgili. Bunlar, sürücüdeki en büyük bitişik boş alan bloğunun (yani boş alanın "delikleri") boyutuyla ilgilidir ve bu boş alan miktarıdır. üst sınır koyar . Ayrıca dosya sisteminin dosya tahsisini nasıl işlediği ile de ilgilidir ( daha aşağıda ). Düşünmek: Tek bir bitişik blokta tüm boş alanla yüzde 95 dolu bir sürücünün yeni bir dosyayı parçalama şansı yüzde sıfırdır. (C) (ve eklenen bir dosyanın parçalanma şansı boş alandan bağımsızdır). Yüzde beş dolu, ancak verilerin sürücüye eşit olarak dağılmış olduğu bir sürücünün parçalanma olasılığı çok yüksektir.
- Dosya parçalanmasını unutmayın. performansı yalnızca parçalanmış dosyalara erişilirken etkiler . Düşünmek: İçinde hala birçok boş “delik” bulunan güzel, birleştirilmiş bir sürücünüz var. Yaygın bir senaryo. Her şey sorunsuz çalışıyor. Nihayetinde, artık büyük boş alan bloklarının kalmadığı 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 uygun olan dosyalar aniden parçalanmayacaktır. Bu, filmin yüklenmesinin daha uzun sürmesine neden olabilir (tipik film bit hızları, sabit sürücü okuma hızlarına kıyasla büyük olasılıkla fark edilmeyecek kadar düşük olsa da) ve film yüklenirken G / Ç bağlı performansını etkileyebilir, ancak onun dışında hiçbir şey değişmez.
- Dosya parçalanması kesinlikle bir sorun olsa da, çoğu zaman etkiler işletim sistemi ve donanım düzeyinde arabelleğe alma ve önbelleğe alma ile hafifletilir. Gecikmeli yazma, önceden okuma, önceden getirici Windows vb. uygulamaların tümü parçalanmanın etkilerini azaltmaya yardımcı olur. Genelde yapmazsın aslında Parçalanma şiddetli hale gelene kadar önemli bir etki yaşarsınız (Takas dosyanız parçalanmadığı sürece muhtemelen asla fark etmeyeceğinizi söylemeye cüret ederim)
2. Arama dizini oluşturma başka bir örnektir. Otomatik indekslemenin açık olduğunu ve bunu incelikle işlemeyen bir işletim sisteminiz olduğunu varsayalım. Bilgisayarınıza gittikçe daha fazla indekslenebilir içerik (belgeler ve benzeri) kaydettikçe, indeksleme daha uzun sürebilir ve hem I / O hem de CPU kullanımında çalışırken bilgisayarınızın algılanan hızı üzerinde etkili olmaya başlayabilir. . Bu, boş alanla ilgili değildir, sahip olduğunuz dizine eklenebilir içeriğin miktarı ile ilgilidir. Ancak, boş alanın tükenmesi, daha fazla içerik depolamakla el ele gider ve bu nedenle yanlış bir bağlantı kurulur.
3. Anti-virüs yazılımı (arama dizini oluşturma örneğine benzer). Sürücünüzün arka planda taraması yapmak için kurulmuş bir anti-virüs yazılımınız olduğunu varsayalım. Giderek daha fazla taranabilir içeriğe sahip olduğunuz için, arama daha fazla G / Ç ve CPU kaynağı gerektirir 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ş alan eksikliği neden değildir.
4. Yüklü yazılım. Bilgisayarınız önyüklendiğinde yüklenen ve böylece başlangıç sürelerini yavaşlatan çok sayıda yazılımınız olduğunu varsayalım. Bu yavaşlama, çok sayıda yazılım yüklendiği için olur. Ancak, yüklenen yazılım sabit diskte yer kaplar. Bu nedenle, sabit sürücü boş alanı bununla aynı anda azalır ve yine yanlış bir bağlantı kolayca yapılabilir.
5. Bu satırlardaki diğer birçok örnek birlikte ele alındığında, görünmek boş alan eksikliğini düşük performansla yakından ilişkilendirmek.
Yukarıdakiler, bunun yaygın bir efsane olmasının başka bir nedenini göstermektedir: Boş alan eksikliği, yavaşlamanın doğrudan bir nedeni olmasa da, çeşitli uygulamaların kaldırılması, dizine alınan veya taranan içeriğin kaldırılması vb. Bazen (ancak her zaman değil; kapsamı dışında) bu cevap) kalan boş alan miktarıyla ilgisi olmayan nedenlerle performansı tekrar artırır. Ancak bu aynı zamanda doğal olarak sabit disk alanını serbest bırakır. Bu nedenle, yine, “daha fazla boş alan” ile “daha hızlı bir bilgisayar” arasında açık (ancak yanlış) bir bağlantı kurulabilir.
Düşünmek: Çok sayıda yüklü yazılım vb. Nedeniyle yavaş çalışan bir makineniz varsa, sabit sürücünüzü (tam olarak) daha büyük bir sabit sürücüye klonlayın, ardından daha fazla boş alan kazanmak için bölümlerinizi genişletin, makine sihirli bir şekilde hızlanmayacaktır. Aynı yazılım yüklenir, aynı dosyalar hala aynı yollarla parçalanır, aynı arama dizinleyici hala çalışır, daha fazla boş alana sahip olmasına rağmen hiçbir şey değişmez.
"Bir şeyleri kurtarmak için bellek alanı aramakla bir ilgisi var mı?"
Hayır. Öyle değil. Burada kayda değer iki çok önemli şey var:
1. Sabit sürücünüz bir şeyler koymak için yer bulmak için etrafı aramıyor. Sabit sürücünüz aptal. Hiçbir şey değil. Bu, işletim sisteminizin söylediği ve sorulan her şeyi okuduğu yere körü körüne bir şeyler koyan büyük bir adreslenmiş depolama bloğudur. Modern diskler, zaman içinde kazandığımız deneyime dayanarak işletim sisteminin ne isteyeceğini tahmin etmek için tasarlanmış gelişmiş önbelleğe alma ve arabellekleme mekanizmalarına sahiptir (bazı sürücüler, üzerlerinde bulunan dosya sisteminin farkındadır), ancak esasen, ara sıra bonus performans özelliklerine sahip büyük bir aptal depolama parçası olarak sürün.
2. İşletim sisteminiz de bir şeyler koyacak yerleri aramaz. Arama yok. Dosya sistemi performansı için kritik önem taşıdığından, bu sorunu çözmek için çok çaba harcanmıştır. Sürücünüzdeki verilerin fiilen organize edilme şekli, sürücünüz tarafından belirlenir. dosya sistemi . Örneğin, FAT32 (eski DOS ve Windows PC'ler), NTFS (Windows'un sonraki sürümleri), HFS + (Mac), ext4 (bazı Linux sistemleri) ve diğerleri. Bir "dosya" ve bir "dizin" kavramı bile yalnızca tipik dosya sistemlerinin ürünleridir - sabit diskler, adı verilen gizemli canavarlar hakkında hiçbir şey bilmiyor Dosyalar . Detaylar bu cevabın kapsamı dışındadır. Ancak esasen, tüm yaygın dosya sistemleri, kullanılabilir alanın bir sürücüde nerede olduğunu izleme yöntemlerine sahiptir, böylece boş alan araması normal koşullar altında (yani sağlıklı dosya sistemleri) gereksizdir. Örnekler:
- NTFS var Ana dosya tablosu , özel dosyaları içeren $ Bit Eşlem vb. ve sürücüyü tanımlayan bol miktarda meta veri. Esasen, sonraki boş blokların nerede olduğunu takip eder, böylece yeni dosyalar, her seferinde sürücüyü taramak zorunda kalmadan, doğrudan boş bloklara yazılabilir.
- Başka bir örnek: Ext4 denen şeye sahip bitmap ayırıcı ext2 ve ext3'e göre, serbest blokların listesini taramak yerine, serbest blokların nerede olduğunu doğrudan belirlemesine yardımcı olan bir gelişme. Ext4 ayrıca gecikmiş tahsis yani, parçalanmayı azaltmak için nereye koyulacağına dair daha iyi kararlar almak için sürücüye yazmadan önce işletim sistemi tarafından RAM'deki verilerin arabelleğe alınması.
- Diğer birçok örnek.
"Ya da bir şeyleri kurtarmak için yeterince uzun ve kesintisiz bir alan yaratmak için bir şeyleri hareket ettirerek mi?"
Hayır. Bu, en azından bildiğim herhangi bir dosya sisteminde olmaz. Dosyalar sadece parçalanır.
"Bir şeyi kurtarmak için yeterince uzun bitişik bir alan oluşturmak için bir şeyleri etrafta taşıma" sürecine birleştirme . Dosyalar yazılırken bu gerçekleşmez. Bu, disk birleştiricinizi çalıştırdığınızda olur. Windows'un daha yeni sürümlerinde, en azından, bu bir zamanlamaya göre otomatik olarak gerçekleşir, ancak hiçbir zaman bir dosya yazarak tetiklenmez.
Yapabilmek önlemek işleri bu şekilde hareket ettirmek dosya sistemi performansının anahtarıdır ve parçalanmanın neden olduğu ve birleştirme neden ayrı bir adım olarak mevcuttur.
"Bir sabit diskte ne kadar boş alan bırakmalıyım?"
Bu, cevaplanması daha zor bir sorudur (ve bu cevap zaten küçük bir kitaba dönüşmüştür)
Pratik kurallar:
1. Tüm sürücü türleri için:
- En önemlisi, bilgisayarınızı etkili bir şekilde kullanmalısınız . Çalışmak için alanınız tükeniyorsa, daha büyük bir sürücü isteyeceksiniz.
- Birçok disk birleştirme aracı, çalışmak için minimum miktarda boş alan gerektirir (Windows'lu olanın en kötü durumda, yüzde 15'ini gerektirdiğini düşünüyorum). Bu boş alanı, diğer şeyler yeniden düzenlenirken parçalanmış dosyaları geçici olarak tutmak için kullanırlar.
- Diğer işletim sistemi işlevleri için alan bırakın. Örneğin, makinenizde çok fazla fiziksel RAM yoksa ve dinamik olarak boyutlandırılmış bir sayfa dosyasıyla etkinleştirilmiş sanal belleğiniz varsa, sayfa dosyasının maksimum boyutu için yeterli alan bırakmak isteyeceksiniz. Veya hazırda bekletme moduna aldığınız 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.
2. SSD-specific:
- Optimum güvenilirlik (ve daha az bir ölçüde, performans) için, SSD'ler biraz boş alan gerektirir; bu, çok fazla ayrıntıya girmeden, sürekli aynı yere yazmaktan kaçınmak için sürücünün etrafına veri yaymak için kullanır (bu onları yıpratır) . Bu boş alan bırakma kavramına aşırı provizyon . Bu önemli, ancak birçok SSD'de zorunlu aşırı tedarik edilmiş alan zaten mevcuttur . Yani, diskler genellikle işletim sistemine bildirdiklerinden birkaç düzine daha fazla GB'ye sahiptir. Alt uç sürücüler genellikle manuel olarak ayrılmanızı gerektirir bölümlenmemiş alan, ancak zorunlu OP'li sürücüler için boş alan bırakmanıza gerek yok . Burada dikkat edilmesi gereken önemli bir nokta şudur: fazla sağlanan alan genellikle yalnızca bölümlenmemiş alandan alınır . Dolayısıyla, bölümünüz tüm sürücünüzü kaplarsa ve üzerinde biraz boş alan bırakırsanız, bu her zaman Miktar. Çoğu zaman, manuel aşırı provizyon, 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, çöp toplama ve benzeri etkilere sahiptir, ancak bunlar bu cevabın kapsamı dışındadır.
Şahsen, yaklaşık yüzde 20-25 boş alanım kaldığında genellikle daha büyük bir sürücü kaparım. Bu performansla ilgili değil, sadece o noktaya geldiğimde, yakında veri alanımın tükeneceğini umuyorum ve daha büyük bir disk almanın zamanı geldi.
Boş alanı izlemekten daha önemli olan, planlı birleştirmenin uygun olduğunda (SSD'lerde değil) etkinleştirildiğinden emin olmaktır, böylece sizi etkileyecek kadar korkunç hale geldiği noktaya asla gelemezsiniz.
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 burada tartışılan performans sorunlarıyla çoğunlukla ilgisizdir. Bunun anlamı, basitçe, verilerin her iki yönde de aktarılamayacağıdır. tel üzerinde aynı zamanda. Ancak, SATA'da bir oldukça karmaşık şartname minik maksimum blok boyutlarını içeren (sanırım kablodaki blok başına yaklaşık 8kB), işlem kuyruklarını okuma ve yazma, vb. ve okuma devam ederken, aralıklı işlemler vb.
Meydana gelen herhangi bir engelleme, genellikle bol miktarda önbellekle hafifletilen fiziksel kaynaklar için rekabet etmekten kaynaklanır. SATA'nın dubleks modu burada neredeyse tamamen alakasız.
(A) "Yavaşlamak" geniş bir terimdir. Burada, I / O bağlantılı (yani bilgisayarınız orada oturuyorsa sayıları kıstırıyorsa, sabit sürücünün içeriğinin etkisi yoktur) veya CPU'ya bağlı ve yüksek olan teğetsel olarak ilişkili şeylerle rekabet eden şeylere atıfta bulunmak için kullanıyorum. CPU kullanımı (yani anti-virüs yazılımı tonlarca dosyayı tarar).
(B) SSD'ler, mekanik bir cihazla aynı sınırlamalarla karşılaşmasa bile, sıralı erişim hızlarının genellikle rastgele erişimden daha hızlı olması nedeniyle parçalanmadan etkilenir (o zaman bile parçalanma eksikliği, aşınma seviyelendirme vb. Nedeniyle sıralı erişimi garanti etmez). Ancak, hemen hemen her genel kullanım senaryosunda, bu bir sorun değildir. SSD'lerdeki parçalanmadan kaynaklanan performans farklılıkları, uygulamaları yükleme, bilgisayarı başlatma vb. Şeyler için genellikle ihmal edilebilir düzeydedir.
(C) Dosyaları kasıtlı olarak parçalamayan mantıklı bir dosya sistemi varsayarsak.
Aşağıdaki bağlantı aracılığıyla SuperUser'daki canlı tartışmanın geri kalanını okuduğunuzdan emin olun!
Açıklamaya eklemek istediğiniz bir şey var mı? Yorumlarda ses çıkarın. Diğer teknoloji meraklısı Stack Exchange kullanıcılarından daha fazla yanıt okumak ister misiniz? Tartışma dizisinin tamamına buradan göz atın .