Domača » kako » Zakaj praznjenje prostora na disku pospeši računalnike?

    Zakaj praznjenje prostora na disku pospeši računalnike?

    Ko boste izvedeli več o računalnikih in kako delujejo, boste občasno naleteli na nekaj, kar se ne zdi smiselno. S tem v mislih, ali praznjenje prostora na disku dejansko poveča hitrost računalnikov? Današnja postavka SuperUser Q&A ima odgovor na zmedeno vprašanje bralca.

    Današnja seja vprašanj in odgovorov prihaja z namenom SuperUser-a, ki je del skupine Stack Exchange, ki temelji na skupnostih spletnih mest za vprašanja in odgovore.

    Posnetek zaslona z dovoljenjem nchenga (Flickr).

    Vprašanje

    Bralnik SuperUser Remi.b želi vedeti, zakaj se zdi, da praznjenje prostora na disku pospeši računalnik:

    Gledal sem veliko videoposnetkov in zdaj razumem, kako računalniki delujejo nekoliko bolje. Razumem, kaj je RAM, o nestabilnem in trajnem pomnilniku ter o postopku zamenjave. Razumem tudi, zakaj povečanje RAM-a pospeši računalnik.

    Ne razumem, zakaj je čiščenje prostora na disku hitrejše. Ali res pospešuje računalnik? Če je tako, zakaj je tako?

    Ali ima to opraviti z iskanjem pomnilniškega prostora, da bi rešil stvari ali s premikanjem stvari okoli, da bi ustvaril dovolj dolg prostor za shranjevanje? Koliko praznega prostora naj zapustim na trdem disku?

    Zakaj praznjenje prostora na disku zdi, da pospeši računalnik?

    Odgovor

    Sodelavka SuperUser Jason C ima odgovor za nas:

    »Zakaj se praznjenje prostora na disku pospeši?«

    Ne, vsaj ne samo. To je resnično običajen mit. Razlog, zakaj je običajen mit, je, da se polnjenje vašega trdega diska pogosto dogaja hkrati z drugimi stvarmi, ki bi lahko običajno upočasnile računalnik (A). Učinkovitost SSD se ponavadi poslabša pri polnjenju, vendar je to relativno nova izdaja, ki je edinstvena za SSD-je in za uporabnike običajno ni opazna. Na splošno je majhen prosti prostor na disku le rdeča sled.

    Na primer:

    1. Razdrobljenost datotek. Razdrobljenost datotek je težava (B), toda pomanjkanje prostora, ki je nedvomno eden od dejavnikov, ki prispevajo k temu, ni edini vzrok za to. Tukaj je nekaj ključnih točk:

    • Možnosti razdrobljenosti datoteke so ne glede na količino prostega prostora na pogonu. Povezani so z velikostjo največjega sosednjega bloka prostega prostora na pogonu (tj. "Luknjami" prostega prostora), ki je količina prostega prostora zgodi zgornjo mejo. Povezane so tudi s tem, kako datotečni sistem obravnava dodelitev datotek (spodaj). Razmislite: Pogon s 95-odstotnim polnim prostorom v enem samem sosednjem bloku ima ničelno možnost fragmentiranja nove datoteke (C) (in možnost fragmentiranja dodane datoteke je neodvisna od prostega prostora). Pogon, ki je pet odstotkov poln, vendar s podatki, ki so enakomerno porazdeljeni po pogonu, ima zelo veliko verjetnost fragmentacije.
    • Ne pozabite, da je razdrobljenost datotek vpliva le na zmogljivost, ko se dostopa do razdrobljenih datotek. Razmislite: Imate lep, defragmentiran pogon, ki ima še vedno veliko prostih "lukenj" v njem. Skupni scenarij. Vse teče gladko. Sčasoma pa pridemo do točke, kjer ni več velikih prostih prostorov. Če prenesete ogromen film, datoteka postane zelo razdrobljena. To ne bo upočasnilo računalnika. Vse vaše prijavne datoteke in takšne, ki so bile prej v redu, ne bodo nenadoma postale razdrobljene. To lahko povzroči, da se film naloži dlje časa (čeprav so običajne hitrosti prenosa filmov tako nizke v primerjavi s hitrostjo branja na trdem disku, da bo verjetno neopazno), in lahko vpliva na zmogljivost I / O, ko se film nalaga, vendar razen tega se nič ne spremeni.
    • Medtem ko je razdrobljenost datotek vsekakor težava, pogosto učinke blažimo z medpomnjenjem in predpomnjenjem na ravni operacijskega sistema in strojne opreme. Zapoznela pisanja, branje, strategije, kot so prefetcherji v operacijskem sistemu Windows itd., Pomagajo zmanjšati učinke razdrobljenosti. Na splošno ne dejansko izkusite pomemben učinek, dokler fragmentacija ne postane resna (upal bi si celo povedati, da dokler vaša izmenjalna datoteka ni razdrobljena, verjetno ne boste nikoli opazili).

    2. Drug primer je indeksiranje iskanja. Recimo, da imate vklopljeno samodejno indeksiranje in operacijski sistem, ki tega ne obravnava elegantno. Ko shranjujete vse več izmenljivih vsebin v računalnik (dokumenti in podobno), lahko indeksiranje traja dlje in dlje in lahko začne vplivati ​​na zaznano hitrost vašega računalnika, medtem ko se izvaja, tako pri uporabi V / I kot pri uporabi CPE-ja. . To ni povezano s prostim prostorom, ampak je povezano s količino vsebine, ki jo je mogoče indeksirati. Vendar pa zmanjka prostega prostora gre z roko v roki s shranjevanjem več vsebine, zato je napačna povezava.

    3. Protivirusna programska oprema (podobna primeru iskanja indeksov). Recimo, da imate protivirusno programsko opremo, ki je nastavljena za pregledovanje ozadja vašega pogona. Ker imate vse več vsebin, ki jih je mogoče skenirati, iskanje zahteva več virov V / I in CPU, kar lahko ovira vaše delo. Tudi to je povezano s količino vsebine, ki jo lahko skenirate. Več vsebine je pogosto manj prostega prostora, vendar pomanjkanje prostega prostora ni vzrok.

    4. Nameščena programska oprema. Recimo, da imate veliko nameščene programske opreme, ki se naloži, ko se računalnik zažene in tako upočasni čas zagona. To upočasnitev se zgodi, ker se nalaga veliko programske opreme. Vendar nameščena programska oprema zavzema prostor na trdem disku. Zato se prostor za trdi disk zmanjša istočasno, ko se to zgodi, in zopet lahko ustvarite napačno povezavo.

    5. Veliko drugih primerov v tej smeri, ki so, če jih vzamemo skupaj, pojavijo tesno povezati pomanjkanje prostega prostora z nižjo zmogljivostjo.

    Zgoraj je prikazan še en razlog, da je to običajen mit: Čeprav pomanjkanje prostora ni neposreden vzrok za upočasnitev, odstranjevanje različnih aplikacij, odstranjevanje indeksiranih ali skeniranih vsebin itd., Včasih (vendar ne vedno, izven obsega Ta odgovor ponovno poveča zmogljivost zaradi razlogov, ki niso povezani s preostalim prostim prostorom. To pa seveda sprošča prostor na trdem disku. Zato lahko ponovno vzpostavimo navidezno (vendar napačno) povezavo med »večjim prostorom« in »hitrejšim računalnikom«.

    Razmislite: Če imate stroj, ki teče počasi zaradi veliko nameščene programske opreme, itd, klon vaš trdi disk (natančno) na večji trdi disk, nato razširite vaše particije, da pridobite več prostega prostora, stroj ne bo čarobno pospešil. Iste programske opreme se naložijo, iste datoteke so še vedno razdrobljene na enak način, isti indeks za iskanje se še vedno izvaja, nič se ne spreminja, čeprav ima več prostega prostora.

    "Ali ima to opraviti z iskanjem prostora v spominu, da bi rešil stvari?"

    Ne. Ne. Tu sta dve zelo pomembni stvari: \ t

    1. Vaš trdi disk ne išče po okolici, da bi našel mesta za stvari. Vaš trdi disk je neumen. Nič ni. To je velik blok za shranjevanje naslovov, ki slepo postavlja stvari, kjer je vaš operacijski sistem povedal, in bere vse, kar se od njega zahteva. Sodobni pogoni imajo napredne mehanizme za predpomnjenje in blaženje, zasnovane na predvidevanju, kaj bo OS zahteval na podlagi izkušenj, ki smo jih pridobili skozi čas (nekateri pogoni so celo seznanjeni z datotečnim sistemom, ki je na njih), vendar v bistvu pomislite vozite le kot veliko neumno opeko skladišča s priložnostnimi dodatnimi zmogljivostmi.

    2. Tudi vaš operacijski sistem ne išče krajev, kamor bi postavil stvari. Ni iskanja. Veliko truda je bilo vloženega v reševanje tega problema, saj je ključnega pomena za delovanje datotečnega sistema. Način, na katerega so podatki dejansko organizirani na vašem pogonu, določa vaš datotečni sistem. Na primer, FAT32 (stari računalniki DOS in Windows), NTFS (kasnejše izdaje sistema Windows), HFS + (Mac), ext4 (nekateri sistemi Linux) in mnogi drugi. Tudi koncept »datoteke« in »imenika« sta le produkta tipičnih datotečnih sistemov - trdi diski ne vedo ničesar o skrivnostnih zveri datotek. Podrobnosti so izven obsega tega odgovora. V bistvu imajo vsi običajni datotečni sistemi načine sledenja, kjer je razpoložljiv prostor na pogonu, tako da je iskanje prostorov v normalnih okoliščinah (tj. Datotečni sistemi v dobrem zdravju) nepotrebno. Primeri:

    • NTFS ima glavno tabelo datotek, ki vključuje posebne datoteke $ Bitmap, itd., in veliko meta podatkov, ki opisujejo pogon. V bistvu sledi, kje so naslednji prosti bloki, tako da se lahko nove datoteke zapisujejo neposredno v proste bloke, ne da bi bilo treba vsakič skenirati pogon..
    • Še en primer: Ext4 ima tako imenovani bitmap alokator, izboljšanje v primerjavi z ext2 in ext3, kar v bistvu pomaga neposredno določiti, kje so prosti bloki namesto skeniranja seznama prostih blokov. Podpira tudi Ext4 zamude pri dodeljevanju, to pomeni, da OS shrani podatke v RAM-u, preden ga zapiše na pogon, da bi lahko sprejel boljše odločitve o tem, kam naj se zmanjša razdrobljenost.
    • Veliko drugih primerov.

    "Ali s premikajočimi se stvarmi, da naredimo dovolj dolg prostor, da nekaj prihranimo?"

    Ne. To se ne zgodi, vsaj ne s katerim koli datotečnim sistemom, ki ga poznam. Datoteke so samo razdrobljene.

    Proces »premikanja stvari okoli, da bi sestavili dovolj dolg prostor za shranjevanje«, se imenuje defragmentiranje. To se ne zgodi, ko so datoteke zapisane. To se zgodi, ko zaženete defragmentator diska. Vsaj v novejših izdajah sistema Windows se to zgodi samodejno po urniku, vendar ga nikoli ne sproži s pisanjem datoteke.

    Sposobnost izogniti To je ključnega pomena za uspešnost datotečnega sistema, zato se zgodi razdrobljenost in zakaj defragmentacija obstaja kot ločen korak.

    »Koliko praznega prostora naj pustim na trdem disku?«

    To vprašanje je težje odgovoriti (in ta odgovor je že postal majhna knjiga).

    Pravila palca:

    1. Za vse vrste pogonov:

    • Najpomembneje je, da pustite dovolj prostora učinkovito uporabljate računalnik. Če vam zmanjkuje prostora za delo, boste želeli večjo vožnjo.
    • Številna orodja za defragmentacijo diska zahtevajo minimalno količino prostega prostora (mislim, da tisti z operacijskim sistemom Windows zahteva 15 odstotkov, najslabši primer) za delo. Uporabljajo ta prosti prostor za začasno zadrževanje razdrobljenih datotek, ko so druge stvari preurejene.
    • Pustite prostor za druge funkcije OS. Če na primer vaš računalnik nima veliko fizičnega pomnilnika RAM in imate omogočen navidezni pomnilnik z datoteko strani z dinamično velikostjo, boste želeli pustiti dovolj prostora za največjo velikost datoteke datoteke. Če pa imate prenosni računalnik, ki ste ga dali v stanje mirovanja, boste potrebovali dovolj prostora za datoteko stanja mirovanja. Takšne stvari.

    2. SSD-specifično:

    • Za optimalno zanesljivost (in v manjši meri zmogljivost) potrebujejo SSD-ji nekaj prostega prostora, ki ga ne da bi preveč podrobno uporabili za širjenje podatkov okoli pogona, da bi se izognili neprestanemu zapisovanju na isto mesto (ki jih prenaša) . Ta koncept zapuščanja prostora se imenuje prekomerno zagotavljanje. Je pomembno, vendar v mnogih SSD-ih že obstaja obvezen previsok prostor. To pomeni, da imajo pogoni pogosto nekaj deset GB več, kot poročajo OS. Pogoni v spodnjem delu pogosto zahtevajo, da ročno odidete ni razdeljen prostor, vendar za pogone z obveznim OP, ne potrebujete nobenega prostega prostora. Pomembno je omeniti, da je to Preveč zagotovljen prostor je pogosto vzet samo iz nerazdeljenega prostora. Torej, če vaša particija zavzame celoten pogon in pustite nekaj prostega prostora na njem, to ne pomeni nenehno štetje. Večkrat ročno prekomerno zagotavljanje potrebuje, da zmanjšate svojo particijo, da bo manjša od velikosti pogona. Za podrobnosti si oglejte uporabniški priročnik SSD-ja. TRIM, zbiranje smeti in takšni imajo tudi učinke, vendar so ti zunaj obsega tega odgovora.

    Osebno ponavadi vzamem večji pogon, ko imam še približno 20-25 odstotkov prostega prostora. To ni povezano z zmogljivostjo, ampak samo, da ko pridem do te točke, pričakujem, da mi bo kmalu zmanjkalo prostora za podatke in čas je, da dobim večji pogon.

    Bolj pomembno kot gledanje prostega prostora je, da preverite, ali je načrtovana defragmentacija omogočena, kjer je to primerno (ne na SSD-jih), tako da nikoli ne boste dosegli točke, kjer bo postala dovolj strašna, da vpliva na vas.


    Še zadnje je vredno omeniti. Eden od drugih odgovorov je omenil, da SATA poldupleksni način preprečuje hkratno branje in pisanje. Čeprav je res, je to precej poenostavljeno in večinoma ni povezano z vprašanji uspešnosti, o katerih se tukaj razpravlja. To preprosto pomeni, da podatkov ni mogoče prenesti v obe smeri na žico ob istem času. Vendar ima SATA precej zapleteno specifikacijo, ki vključuje drobne največje velikosti blokov (približno 8kB na blok na žici, mislim), čakalne vrste operacij branja in pisanja, itd., In ne izključuje pisanja v medpomnilnik, ki se dogaja, medtem ko se berejo. operacij itd.

    Vsaka blokada, ki se pojavi, bi bila posledica tekmovanja za fizične vire, običajno ublažene z veliko predpomnilnika. Duplex način SATA je tukaj skoraj povsem nepomemben.


    (A) »Počasi« je širok pojem. Tukaj jo uporabljam, da se sklicujem na stvari, ki so bodisi I / O-vezane (tj. Če vaš računalnik sedi tam crunching številke, vsebina trdega diska nimajo vpliva) ali CPU-vezan in tekmujejo s tangencialno povezane stvari, ki imajo visoko Uporaba CPU-ja (tj. Protivirusna programska oprema za skeniranje ton datotek).

    (B) Na SSD-je vpliva fragmentacija, saj so zaporedne hitrosti dostopa običajno hitrejše od naključnega dostopa, kljub temu, da SSD-ji nimajo enakih omejitev kot mehanska naprava (tudi takrat pomanjkanje razdrobljenosti ne zagotavlja zaporednega dostopa zaradi izravnavanja obrabe itd.). Vendar pa je to v skoraj vseh scenarijih splošne rabe. Razlike v zmogljivosti zaradi fragmentacije na SSD-jih so običajno zanemarljive za stvari, kot so nalaganje aplikacij, zagon računalnika itd.

    (C) Ob predpostavki razumnega datotečnega sistema, ki namerno ne fragmentira datotek.

    Preverite preostalo živahno razpravo na strani SuperUser preko spodnje povezave!


    Imate kaj dodati pojasnilu? Zvok v komentarjih. Želite prebrati več odgovorov drugih uporabnikov tehnologije Stack Exchange? Oglejte si celotno nit razprave tukaj.