2Sep
Kad saznate više o računalima i kako rade, povremeno ćete se susresti s nečim što izgleda nema 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šnje pitanje &Sesija odgovora nam dolazi zahvaljujući SuperUseru - podjele Stack Exchange-a, grupiranjem zajednice Q & A web stranica.
Zaslon slike 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 videa 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 je zašto čišćenje prostora na disku čini se da je računalo ubrzalo. Je li doista ubrzanje računala? Ako da, zašto to radi?
Ima li veze s traženjem memorijskog prostora kako bi spasio stvari ili pomicao stvari oko sebe kako bi stvorio dovoljno dugotrajan prostor da nešto spasi? Koliko praznih mjesta treba napustiti na tvrdom disku?
Zašto prazni prostor na disku čini da ubrzava računalo?
Odgovor
SuperUser suradnik Jason C ima odgovor za nas:
"Zašto pražnjenje prostora na disku ubrzava računala?"
Ne, barem ne sami. Ovo je stvarno uobičajeni mit. Razlog je zajednički mit jer je popunjavanje tvrdog diska često događa u isto vrijeme kao i druge stvari koje bi tradicionalno mogle usporiti vaše računalo ( A) .Performanse SSD-a imaju tendenciju da se degradiraju dok ispunjavaju, ali ovo je relativno novo pitanje, jedinstveno za SSD-ove, a nije uočljivo za povremene korisnike. Općenito, mali slobodni prostor na disku je samo crvena haringa.
Na primjer, stvari kao što su:
1. File fragmentation. Fragmentacija datoteka je problem ( B) , ali nedostatak slobodnog prostora, iako svakako jedan od mnogih faktora koji doprinose, nije jedini razlog za to. Ovdje su neke ključne točke:
- Šanse za datoteku koja je fragmentirana nisu vezane za 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 se dogodi da količina slobodnog prostora stavi gornju granicu na .Također se odnose na način na koji datotečni sustav obrađuje raspodjelu datoteka( više ispod ). Razmotrite: Pogon, koji je 95 posto pun, sa svim slobodnim prostorom u jednom susjednom bloku, ima nula posto šanse da fragmentira novu datoteku ( C) ( a šanse za fragmentiranje dodane datoteke neovisne su o slobodnom prostoru).Pogon, koji je pet posto pun, ali s podacima koji se ravnomjerno šire preko pogona, ima vrlo velike šanse za fragmentiranjem.
- Imajte na umu da fragmentacija datoteka utječe samo na performanse kada se fragmentirane datoteke pristupaju . Razmotrite: Imate lijep, defragmentirani pogon koji 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, noosim toga, ništa se ne mijenja.
- Dok je fragmentacija datoteka zasigurno problem, često se efekti ublažavaju pomoću puštanja i predmemoriranja na 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. Obično stvarno ne doživljava značajni utjecaj sve dok fragmentacija ne postane ozbiljna( čak bih htio reći da sve dok vaša swap datoteka nije fragmentirana, vjerojatno nikada nećete primijetiti).
2. Indeksiranje pretraživanja još je jedan primjer. Recite da imate uključeno 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. protuvirusni softver( sličan 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 se uzmu zajedno, se pojavljuju kako bi usko povezali nedostatak slobodnog prostora s nižim učinkom.
Gore navodi još jedan razlog da je to tako čest mit: Iako nedostatak slobodnog prostora nije izravni uzrok usporavanja, deinstaliranje različitih aplikacija, uklanjanje indeksiranog ili skeniranog sadržaja itd. Ponekad( ali ne uvijek, izvan okviraovog odgovora) 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".
Razmotrite: Ako imate stroj koji radi polako zbog puno instaliranog softvera i sl., Klonirajte tvrdi disk( točno) na veći tvrdi disk, a zatim proširite particije kako biste dobili više slobodnog prostora, uređaj neće magično brzinomgore. 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 da spasi stvari?"
Ne. Ne. Postoje dvije vrlo važne stvari vrijedne napomene ovdje:
1. Tvrdi disk ne traži oko mjesta za pronalaženje 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šemvoziti 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 - tvrdi diskovi ne znaju ništa o tajanstvenim zvijerima .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 tablicu glavne datoteke, koja uključuje posebne datoteke $ Bitmap , itd., I obilje meta podataka koji opisuju pogon. U osnovi prati gdje su sljedeći slobodni blokovi tako da nove datoteke mogu biti napisane izravno na slobodne blokove bez potrebe za skandiranjem pogona svaki put.
- Drugi primjer: Ext4 ima ono što se naziva algoritam bitmap, 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đenu raspodjelu , tj. Učitavanje podataka u RAM-u od strane operacijskog sustava prije nego što je napiše na pogon kako bi se donijele bolje odluke o tome gdje da se stavi kako bi se smanjila fragmentacija.
- Mnogi drugi primjeri.
"Ili se stvari kreću oko sebe kako bi se stvorio dovoljno dugotrajni 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.
Proces "pomicanja stvari kako bi se stvorio dovoljno dugo susjedni prostor za spremanje nešto" naziva se 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 nikada ne pokreće pisanje datoteke.
Biti u mogućnosti izbjeći stvari koje se kreću oko sebe ovako su ključne za performanse datotečnog sustava i zbog čega se fragmentacija događa i zašto defragmentacija postoji kao zasebni korak.
"Koliko praznih mjesta trebam ostaviti slobodan na tvrdom disku?"
Ovo je zahtjevnije 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 vaše 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 sa sustavom Windows potreban za 15 posto, najgori slučaj). Oni koriste ovaj slobodni prostor da privremeno zadrže fragmentirane datoteke jer se druge stvari preuređuju.
- Ostavite prostora za ostale 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čan:
- Za optimalnu pouzdanost( i manju razinu performansi) SSD-ovi zahtijevaju slobodan prostor koji, bez previše detalja, koriste za širenje podataka oko pogona kako bi se izbjeglo stalno pisanjeisto mjesto( koje ih nosi).Ovaj koncept odlaska iz slobodnog prostora naziva se prekomjernom rezerviranjem. Važno je, , ali u mnogim SSD-ovima, već postoji obvezni preopterećeni prostor već .To znači da diskovi često imaju nekoliko desetaka GB više nego što prijavljuju OS.Lower-end diskovi često zahtijevaju od vas da ručno napustite prostor koji nije dijeljen , ali za pogone s obaveznim OP, ne morate ostaviti slobodan prostor .Ovdje je važno napomenuti da prostor koji je prevelik za pružanje prostora često se uzima samo iz neparticioniranog prostora .Dakle, ako vaša particija zauzme cijeli pogon i ostavite nešto slobodnog prostora, to uvijek nije .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 preostalo. 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 osigurava da je planirana defragmentacija omogućena tamo gdje je to prikladno( a ne na SSD-ovima), tako da nikad 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 u oba smjera ne mogu prenijeti na žicu istodobno. 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, interleaviranioperacija, itd.
Bilo koji blokiranje koji se javlja bi se zbog konkurencije za fizičke resurse, obično ublažava dosta predmemorije. 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 visokuKorištenje procesora( tj. Protuvirusni softver skeniranje tona datoteka). SSD-ovi su pogođeni fragmentacijom u tom slijednom pristupnom brzinom općenito brži od slučajnog pristupa, unatoč SSD-ima koji ne gledaju na iste ograničenja kao mehanički uređaj( čak i tada, nedostatak fragmentacije ne jamči sekvencijalni pristup zbog trošenja izravnanja,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) Pretpostavljajući da je riječ o zdravom datotečnom sustavu koji ne namjerava fragmentirati datoteke.
Obavezno pročitajte ostatak živahne rasprave na SuperUseru putem veze u nastavku!
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.