If-Koubou

Zašto pražnjenje prostora na disku ubrzava računala?

Zašto pražnjenje prostora na disku ubrzava računala? (Kako da)

Kada saznate više o računalima i kako rade, povremeno ćete se susresti s nečim što ne čini smisla. Imajući to u vidu, pražnjenje prostora na disku zapravo povećava brzinu računala? Danas SuperUser Q & A post ima odgovor na pitanje čitatelja zbunjenog čitatelja.

Današnja pitanja i odgovori nam se javljaju zahvaljujući SuperUseru - podjele Stack Exchange-a, zajednice-driven grupiranja Q & A web stranica.

Snimka zaslona zahvaljujući nchenga (Flickr).

Pitanje

SuperUser čitač Remi.b želi znati zašto pražnjenje prostora na disku čini da ubrza računalo:

Gledam puno videozapisa i sada shvaćam kako računala rade malo bolje. Razumijem što je RAM, o hlapljivoj i nestalnoj memoriji i procesu zamjene. Također razumijem zašto povećanje RAM-a ubrzava računalo.

Ono što ne razumijem jest zašto čišćenje prostora na disku čini da se računalo ubrzava. Je li doista ubrzanje računala? Ako da, zašto to radi?

Ima li to nešto u vezi s traženjem memorijskog prostora kako bi spasio stvari ili pomicanje stvari kako bi se stvorio dovoljno dugotrajan prostor za spremanje nečega? Koliko praznih mjesta treba napustiti na tvrdom disku?

Zašto pražnjenje prostora na disku čini da ubrza računalo?

Odgovor

Jason C ima doprinos za SuperUser:

"Zašto pražnjenje prostora na disku ubrzava računala?"

To ne, barem ne samostalno. Ovo je stvarno uobičajeni mit. Razlog zašto je zajednički mit je taj što se punjenje vašeg tvrdog diska često događa u isto vrijeme kao i druge stvari koje bi tradicionalno mogle usporiti vaše računalo (A), SSD performanse imaju tendenciju da se degradiraju dok ispunjavaju, ali ovo je relativno novo pitanje, jedinstveno za SSD-ove, a zapravo nije primjetno za casual korisnike. Općenito, mali slobodni prostor na disku je samo crvena haringa.

Na primjer, stvari poput:

1. File fragmentacija. Fragmentacija datoteka je problem (B), ali nedostatak slobodnog prostora, iako definitivno jedan od mnogih faktora koji doprinose, nije jedini razlog za to. Ovdje su neke ključne točke:

  • Mogućnosti fragmentacije datoteke su ne što se odnosi na količinu slobodnog prostora na disku. Oni su povezani s veličinom najvećeg susjednog bloka slobodnog prostora na pogonu (tj. "Rupe" slobodnog prostora), što je količina slobodnog prostora događa se da stavite gornju granicu, Oni su također povezani s načinom na koji datotečni sustav obrađuje raspodjelu datoteka (više ispod). Uzeti u obzir: Pogon koji je 95 posto pun, sa svim slobodnim prostorom u jednom susjednom bloku ima nula posto šanse za fragmentiranje nove datoteke (C) (a prilika za fragmentiranje dodane datoteke neovisna je od slobodnog prostora). Pogon, koji je pet posto pun, ali s podacima koji se ravnomjerno šire preko pogona, ima vrlo velike šanse za fragmentiranjem.
  • Imajte na umu fragmentaciju datoteka utječe samo na performanse kada se pristupaju fragmentirane datoteke. Uzeti u obzir: Imate lijepu, defragmentiranu vožnju koja još uvijek ima puno slobodnih "rupa" u njemu. Uobičajeni scenarij. Sve radi glatko. Na kraju, ipak, dođete do točke u kojoj nema preostalih velikih blokova slobodnog prostora. Preuzimanje ogromnog filma, datoteka završava s jakim fragmentiranjem. To neće usporiti vaše računalo, Sve vaše aplikacijske datoteke i takve koje su prethodno bile u redu neće iznenada postati fragmentirane. To bi moglo potrajati dulje vrijeme za učitavanje filma (premda su tipične brzine filmskih bitova toliko niske u odnosu na brzine čitanja tvrdog diska da će najvjerojatnije biti neprimjetne) i može utjecati na I / O vezane performanse dok se film učitava, no osim toga, ništa se ne mijenja.
  • Dok je fragmentacija datoteka svakako problem, često se efekti ublažavaju pomoću puštanja i predmemoriranja u OS i hardverskoj razini. Delayed piše, čitanje naprijed, strategije kao što su prefetcher u sustavu Windows, itd., Sve pomoći smanjiti učinke fragmentacije. Vi obično ne činite zapravo doživite značajan utjecaj dok fragmentacija ne postane ozbiljna (čak bih se htio reći da sve dok vaša swap datoteka nije fragmentirana, vjerojatno nikada nećete primijetiti).

2. Drugi je primjer indeksiranja pretraživanja. Recite da ste uključili automatsko indeksiranje i OS koji to ne podliježe graciozno. Dok šaljete sve više i više indeksnih sadržaja na vaše računalo (dokumenti i sl.), Indeksiranje može potrajati duže i dulje i može početi utjecati na percipiranu brzinu vašeg računala dok je pokrenuta, kako u I / O i korištenju procesora , Ovo se ne odnosi na slobodni prostor, već se odnosi na količinu sadržaja koji se može indeksirati. Međutim, istjecanje slobodnog prostora ide ruku pod ruku s pohranjivanjem više sadržaja, pa se izvuče lažna veza.

3. Antivirusni softver (slično primjeru indeksiranja pretraživanja). Recite da imate antivirusni softver postavljen za pozadinsko skeniranje pogona. Kao što imate sve više i više skeniranih sadržaja, pretraživanje traje više I / O i CPU resursa, što može ometati vaš posao. Opet, to je povezano s količinom sadržaja za skeniranje. Više sadržaja često je manje slobodnog prostora, ali nedostatak slobodnog prostora nije uzrok.

4. Instalirani softver. Recite da imate puno instaliranog softvera koji se učitava kada vaše računalo krene, čime se usporava vrijeme pokretanja. To se usporava jer se učitava puno softvera. Međutim, instalirani softver zauzima prostor na tvrdom disku. Stoga se slobodni prostor na tvrdom disku smanjuje istodobno kada se to dogodi, a ponovno se može napraviti lažna veza.

5. Mnogi drugi primjeri uz ove linije, koji, kada su uzeti zajedno, pojaviti blisko povezivanje nedostatka slobodnog prostora s nižim učinkom.

Gore navedeno pokazuje drugi razlog da je to tako čest mit: Iako nedostatak slobodnog prostora nije izravni uzrok usporavanja, deinstaliranja različitih aplikacija, uklanjanja indeksiranog ili skeniranog sadržaja itd. Ponekad (ali ne uvijek, izvan opsega ovaj odgovor) povećava performanse opet iz razloga koji nisu povezani s količinom preostalog slobodnog prostora. Ali to također prirodno oslobađa prostor na tvrdom disku. Stoga, opet, postoji očita (ali lažna) veza između "više slobodnog prostora" i "bržeg računala".

Uzeti u obzir: Ako imate stroj pokrenut polako zbog puno instaliranog softvera i sl., Klonite tvrdi disk (točno) na veći tvrdi disk, a zatim proširite particije kako biste dobili više slobodnog prostora, stroj neće magično ubrzati. Isti softver učitava, iste datoteke i dalje su fragmentirane na isti način, isti indeksni pretraživač još uvijek radi, ništa se ne mijenja, unatoč tome što ima više slobodnog prostora.

"Ima li veze s traženjem memorijskog prostora kako bi spasio stvari?"

Ne, nije. Postoje dvije vrlo važne stvari vrijedne napomene:

1. Tvrdi disk ne pretražuje vas da biste pronašli mjesta za postavljanje stvari. Tvrdi disk je glup. Nije ništa. To je veliki blok adresirane pohrane koja slijepo stavlja stvari na kojima vam OS govori i čita sve što se traži od njega. Moderni pogoni imaju sofisticirane mehanizme spremanja i međuspremnika dizajnirani oko predviđanja onoga što će OS tražiti na temelju iskustva koje smo stekli tijekom vremena (neki pogoni su čak i svjesni datotečnog sustava koji je na njima), ali u biti razmislite o vašem voziti se samo kao velika glupa opeka za pohranu s povremenim značajkama performansi bonusa.

2. Vaš operativni sustav ne traži mjesta za postavljanje stvari. Nema pretraživanja. Puno se truda ulaže u rješavanje ovog problema jer je ključno za performanse datotečnog sustava. Način na koji su ti podaci zapravo organizirani na vašem pogonu određuje vaš sustav datoteka. Na primjer, FAT32 (stari DOS i Windows računala), NTFS (kasnije izdanje sustava Windows), HFS + (Mac), ext4 (neki Linux sustavi) i mnogi drugi. Čak i koncept "datoteke" i "direktorija" samo su proizvodi tipičnih datotečnih sustava - hard diskovi ne znaju ništa o tajanstvenim zvijerima zvanim slika, Pojedinosti su izvan opsega ovog odgovora. No, u osnovi, svi uobičajeni datotečni sustavi imaju načine za praćenje gdje je raspoloživi prostor na disku, tako da je potraga za slobodnim prostorom u normalnim okolnostima (npr. Sustavi datoteka u dobrom zdravstvu) nepotrebna. Primjeri:

  • NTFS ima glavnu tablicu datoteka, koja uključuje posebne datoteke $ Bitmap, itd., i obilje meta podataka koji opisuju pogon. U osnovi, ona prati gdje su sljedeći besplatni blokovi tako da nove datoteke mogu biti napisane izravno na besplatne blokove bez potrebe za skeniranje pogona svaki put.
  • Drugi primjer: Ext4 ima ono što se naziva bitmap algator, poboljšanje u odnosu na ext2 i ext3, što u osnovi pomaže izravno odrediti gdje se slobodni blokovi umjesto skeniranja popisa besplatnih blokova. Ext4 također podržava odgođena dodjela, to jest, puštanje podataka u RAM-u od strane OS-a prije nego što je napiše na pogon kako bi se donijele bolje odluke o tome gdje da to smanje kako bi se smanjila fragmentacija.
  • Mnogi drugi primjeri.

"Ili da se stvari kreću oko sebe kako bi se stvorio dovoljno dugotrajan prostor da nešto spasi?"

Ne. To se ne događa, barem ne s bilo kojim datotečnim sustavom za kojim sam svjestan. Datoteke tek završavaju fragmentiranim.

Poziva se proces "kreiranja stvari oko sebe kako bi se stvorio dovoljno dugo susjedni prostor za spremanje nečega" defragmentacijom, To se ne događa kada su datoteke napisane. To se događa kada pokrenete defragmentaciju diska. Na novijim verzijama sustava Windows, barem se to događa automatski u rasporedu, ali se nikada ne pokreće pisanjem datoteke.

Biti u stanju Izbjegavajte kretanje stvari ovako je ključno za performanse datotečnog sustava i zbog čega se fragmentacija događa i zašto defragmentacija postoji kao zaseban korak.

"Koliki bi prazni prostor trebao napustiti na tvrdom disku?"

Ovo je trickije pitanje za odgovor (i taj je odgovor već pretvoren u malu knjigu).

Pravila palca:

1. Za sve vrste pogona:

  • Najvažnije, ostavite dovoljno slobodnog prostora za da učinkovito koristite svoje računalo, Ako vam ponestane prostora za rad, poželjet ćete veći pogon.
  • Mnogi alati za defragmentaciju diska zahtijevaju minimalnu količinu slobodnog prostora (mislim da je onaj s operacijskim sustavom Windows potreban za 15 posto, najgori slučaj). Oni koriste ovaj slobodni prostor da privremeno zadrže fragmentirane datoteke, budući da se druge stvari preuređuju.
  • Ostavite prostora za druge OS funkcije. Na primjer, ako vaš uređaj nema puno fizičkog RAM-a i imate virtualnu memoriju omogućenu s dinamičnom veličinom datoteke stranice, trebat ćete ostaviti dovoljno mjesta za maksimalnu veličinu datoteke stranice. Ili ako imate prijenosno računalo koje ste stavili u stanje hibernacije, trebat će vam dovoljno slobodnog prostora za stanje hibernacije. Stvari poput tih.

2. SSD-specifične:

  • Za optimalnu pouzdanost (i to u manjoj mjeri performanse), SSD-ovi zahtijevaju slobodan prostor koji, bez previše detalja, koriste za širenje podataka oko pogona kako bi se izbjeglo stalno pisanje na istom mjestu (koje ih istroše) , Ovaj koncept odlaska iz slobodnog prostora naziva se prekomjernom rezerviranjem. To je važno, ali u mnogim SSD-ovima, već postoji obavezan prevelik prostor, To znači da diskovi često imaju nekoliko desetaka GB više nego što prijavljuju OS. Donji pogoni često zahtijevaju da ručno odete unpartitioned prostora, ali za pogone s obveznim OP, ne morate ostaviti slobodan prostor, Važno je napomenuti da je ovdje prevelikog prostora često se uzima samo iz neparticioniranog prostora, Dakle, ako vaša particija zauzima cijeli pogon i ostavite nešto slobodnog prostora na njemu, to ne stalno računati. Mnogo puta, ručno preopterećenje zahtijeva da smanjite particije manju od veličine pogona. Detalje potražite u korisničkom priručniku SSD-a. TRIM, zbirka smeća, a takvi imaju i učinke, ali oni su izvan opsega ovog odgovora.

Osobno, ja obično zgrabiti veći pogon kada imam oko 20-25 posto slobodnog prostora preostalih. Ovo se ne odnosi na performanse, to je samo da, kada dođem do te točke, očekujem da ću vjerojatno uskoro ponestajati prostor za podatke i da je vrijeme da dobijem veći udio.

Važnije od promatranja slobodnog prostora jest osigurati da je planirana defragmentacija omogućena tamo gdje je to prikladno (a ne na SSD-ovima), tako da nikada ne dođete do točke gdje je dovoljno teško utjecati na vas.

Postoji još jedna stvar koju valja spomenuti. Jedan od ostalih odgovora ovdje spominje da SATA polu-duplex način sprečava čitanje i pisanje u isto vrijeme. Iako je istina, ovo je uvelike pojednostavljeno i uglavnom nije povezano s pitanjima izvedbe koja se ovdje raspravlja. To jednostavno znači da se podaci ne mogu prenijeti u oba smjera na žici u isto vrijeme. Međutim, SATA ima prilično složenu specifikaciju koja uključuje sitne maksimalne veličine blokova (oko 8 kB po bloku na žici, mislim), čitanje i pisanje redova čekanja i sl., A ne isključuje pisanje pušenja koja se događaju dok su čitanja u tijeku, interleavirani operacija itd.

Bilo koji blokiranje koji će se pojaviti bi se zbog konkurencije za fizičke resurse, obično ublažava dosta cache. Duplex način SATA gotovo je potpuno nevažan ovdje.

(A) "Usporiti" je širi pojam. Ovdje ga upotrebljavam za upućivanje na stvari koje su I / O-vezane (tj. Ako računalo sjedi tamo crunching brojevi, sadržaj tvrdog diska nema utjecaja) ili CPU-vezan i koji se natječe s tangencijalno povezanim stvarima koje imaju visoku Korištenje procesora (tj. Protuvirusni softver skeniranje tona datoteka).

(B) SSD-ovi su pogođeni fragmentiranjem u tom nizu pristupnih brzina koje su općenito brže od slučajnog pristupa, usprkos SSD-ovima koji se ne suočavaju s istim ograničenjima kao i mehanički uređaj (čak i tada, nedostatak fragmentacije ne jamči sekvencijalni pristup zbog niveliranja trošenja itd.). Međutim, u gotovo svakom scenariju opće uporabe, ovo je neograničeno pitanje. Razlike u izvedbi zbog fragmentacije na SSD-ovima obično su zanemarive za stvari kao što su učitavanje aplikacija, dizanje računala itd.

(C) Podrazumijevajući zdrav sustav datoteka koji ne namjerava fragmentirati datoteke.

Obavezno pročitajte ostatak živahne diskusije na SuperUseru putem donje veze!

Imate li nešto za objašnjenje? Zvuči u komentarima. Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.