Kotisivu » miten » Miksi Levytilan tyhjentäminen nopeuttaa tietokoneita?

    Miksi Levytilan tyhjentäminen nopeuttaa tietokoneita?

    Kun opit lisää tietokoneista ja siitä, miten ne toimivat, ajoittain ajetaan jotain, joka ei näytä olevan järkevää. Tätä silmällä pitäen levytilan tyhjennys nopeuttaa tietokoneita? Tämän päivän SuperUser Q&A -postissa on vastaus hämmentyneeseen lukijakysymykseen.

    Nykypäivän Kysymys- ja vastaus -istunto tulee meille suotuisasti SuperUserin - Stack Exchange -alueen, yhteisöpohjaisen Q & A-sivustojen ryhmittymän - kautta..

    Nchengan (Flickr) kohteliaisuus.

    Kysymys

    SuperUser-lukija Remi.b haluaa tietää, miksi levytilan tyhjentäminen näyttää nopeuttavan tietokonetta:

    Olen katsonut paljon videoita ja nyt ymmärrän, miten tietokoneet toimivat hieman paremmin. Ymmärrän, mitä RAM on, haihtuvasta ja haihtumattomasta muistista ja vaihtoprosessista. Ymmärrän myös, miksi RAM-muistin lisääminen nopeuttaa tietokonetta.

    En ymmärrä, miksi levytilan puhdistaminen näyttää nopeuttavan tietokonetta. Onko se todella nopeuttaa tietokonetta? Jos näin on, miksi se tekee niin?

    Onko sillä jotain tekemistä muistitilan etsimiseen asioiden tallentamiseen tai liikkuvien asioiden siirtämiseen tarpeeksi pitkään jatkuvaan tilaan säästääksesi jotain? Kuinka paljon tyhjää tilaa pitäisi jättää vapaaksi kiintolevylle?

    Miksi levytilan tyhjentäminen näyttää nopeuttavan tietokonetta?

    Vastaus

    SuperUserin avustaja Jason C: llä on vastaus meille:

    "Miksi levytilan tyhjentäminen nopeuttaa tietokoneita?"

    Se ei ainakaan yksinään ole. Tämä on todella yleinen myytti. Syy siihen, että se on yleinen myytti, johtuu siitä, että kiintolevyn täyttäminen tapahtuu usein samaan aikaan kuin muut asiat, jotka perinteisesti voisivat hidastaa tietokonettasi (A). SSD: n suorituskyky pyrkii huonontumaan täyttäessään, mutta tämä on suhteellisen uusi ongelma, ainutlaatuinen SSD: lle, eikä se ole todellakaan havaittavissa satunnaisille käyttäjille. Yleensä matala vapaa levytila ​​on vain punainen silli.

    Esimerkiksi:

    1. Tiedoston pirstoutuminen. Tiedoston pirstoutuminen on ongelma (B), mutta vapaan tilan puute, vaikka varmasti yksi monista tekijöistä, ei ole ainoa syy siihen. Jotkut keskeiset kohdat tässä:

    • Tiedoston fragmentoitumisen mahdollisuudet ovat ei joka liittyy taajuusmuuttajan vapaaseen tilaan. Ne liittyvät levyn vapaan tilan suurimman vierekkäisen lohkon kokoon (ts. Vapaan tilan "reikiin"), jotka vapaan tilan määrä on sattuu asettamaan yläraja. Ne liittyvät myös siihen, miten tiedostojärjestelmä käsittelee tiedostojen jakamista (enemmän alla). Mieti: Taajuusmuuttajalla, joka on 95 prosenttia täynnä yhtä vapaata tilaa yhdellä yhtenäisellä lohkolla, on nolla prosenttiosuus mahdollisuus jakaa uusi tiedosto (C) (ja oheisen tiedoston fragmentoinnin mahdollisuus on riippumaton vapaasta tilasta). Taajuusmuuttajalla, joka on viisi prosenttia täynnä, mutta tiedot leviävät tasaisesti taajuusmuuttajan päälle, on erittäin suuri mahdollisuus pirstoutua.
    • Muista, että tiedostojen pirstoutuminen vaikuttaa vain suorituskykyyn, kun fragmentoituja tiedostoja käytetään. Mieti: Sinulla on mukava, eheytetty asema, jossa on vielä paljon ilmaisia ​​”reikiä”. Yleinen skenaario. Kaikki toimii sujuvasti. Lopulta pääset pisteeseen, jossa ei ole enää suuria vapaata tilaa sisältäviä lohkoja. Lataat valtavan elokuvan, tiedosto päätyy hajanaisesti. Tämä ei hidasta tietokonettasi. Kaikki hakemustiedostosi ja sellaiset, jotka olivat aikaisemmin sakkoja, eivät yhtäkkiä pirstoutuisi. Tämä saattaa tehdä elokuvan lataamisesta kauemmin (vaikka tyypilliset elokuvan bittinopeudet ovat niin alhaiset verrattuna kiintolevyn lukemiin, että se todennäköisesti on huomaamaton), ja se voi vaikuttaa I / O-sidottuun suorituskykyyn elokuvan lataamisen aikana, mutta muut kuin muut, mikään ei muutu.
    • Vaikka tiedostojen pirstoutuminen on varmasti ongelma, usein usein vaikutukset lievennetään käyttöjärjestelmän ja laitteistotason puskuroinnilla ja välimuistilla. Viivästetyt kirjoitukset, ennakkomyynti, strategiat, kuten esimäärittäjä Windowsissa jne., Auttavat vähentämään pirstoutumisen vaikutuksia. Et yleensä tee sitä itse asiassa kokea merkittävää vaikutusta, kunnes pirstoutuminen muuttuu vakavaksi (haluan jopa sanoa, että niin kauan kuin swap-tiedosto ei ole hajanainen, et koskaan huomaa).

    2. Hakemistojen indeksointi on toinen esimerkki. Sano, että käytössäsi on automaattinen indeksointi ja käyttöjärjestelmä, joka ei käsittele tätä sulavasti. Kun tallennat enemmän indeksoitavaa sisältöä tietokoneeseen (asiakirjat ja sellaiset), indeksointi voi kestää kauemmin ja saattaa alkaa vaikuttaa tietokoneen havaittuun nopeuteen, kun se on käynnissä sekä I / O- että CPU-käytössä . Tämä ei liity vapaaseen tilaan, se liittyy indeksoitavan sisällön määrään. Vapaan tilan loppuminen kulkee käsi kädessä useamman sisällön tallentamisen kanssa, joten väärä yhteys muodostetaan.

    3. Virustorjuntaohjelma (samanlainen kuin hakuhakemiston esimerkki). Sano, että sinulla on virustorjuntaohjelmisto, jolla voit tehdä levyn taustan tarkistuksen. Kun sinulla on enemmän skannattavaa sisältöä, haku vie enemmän I / O- ja CPU-resursseja, mikä saattaa häiritä työsi. Tämä liittyy jälleen skannattavan sisällön määrään. Enemmän sisältöä vastaa usein vähemmän vapaata tilaa, mutta vapaan tilan puute ei ole syy.

    4. Asennettu ohjelmisto. Sano, että sinulla on paljon ohjelmistoja, jotka ladataan, kun tietokone käynnistyy, mikä hidastaa käynnistysaikoja. Tämä hidastuu, koska paljon ohjelmistoja ladataan. Asennettu ohjelmisto vie kuitenkin kiintolevytilaa. Siksi kiintolevyn vapaa tila pienenee samaan aikaan, kun tämä tapahtuu, ja taas väärän yhteyden voi tehdä helposti.

    5. Monet muutkin esimerkit, jotka yhdessä ovat, ilmestyä liittää läheisesti vapaan tilan puute pienempään suorituskykyyn.

    Edellä oleva havainnollistaa toista syytä, että tämä on tällainen yhteinen myytti: Vaikka vapaan tilan puute ei ole suoranainen hidastumisen syy, eri sovellusten poistaminen, indeksoidun tai skannatun sisällön poistaminen jne. (Joskus ei aina; tämä vastaus) lisää suorituskykyä uudelleen syistä, jotka eivät liity jäljellä olevan vapaan tilan määrään. Mutta tämä vapauttaa luonnollisesti myös kiintolevytilaa. Siksi taas "ilmeisempi" yhteys "enemmän vapaata tilaa" ja "nopeampaa tietokonetta" voidaan tehdä.

    Mieti: Jos kone on käynnissä hitaasti, koska se on paljon asennettuja ohjelmistoja jne., Kloona kiintolevy (tarkalleen) suurempaan kiintolevyyn ja laajenna sitten osiot saadaksesi lisää vapaata tilaa, kone ei maagisesti nopeuta. Sama ohjelmisto lataa, samat tiedostot ovat edelleen hajallaan samoilla tavoilla, sama hakuhakemisto toimii edelleen, mikään ei muutu huolimatta siitä, että on enemmän vapaata tilaa.

    ”Onko sillä jotain tekemistä muistitilan etsimisen kanssa?”

    Ei, se ei. Tässä on syytä huomata kaksi tärkeää asiaa:

    1. Kiintolevy ei etsi etsimäsi paikkoja. Kiintolevy on tyhmä. Se ei ole mitään. Se on suuri lohko osoitetulle tallennukselle, joka sokeasti asettaa asiat, joihin käyttöjärjestelmäsi kertoo, ja lukee mitä tahansa sitä pyydetään. Nykyaikaisilla asemilla on kehittyneitä välimuisti- ja puskurointimekanismeja, jotka on suunniteltu ennustamaan, mitä käyttöjärjestelmä aikoo kysyä ajan mittaan saamiemme kokemusten perusteella (jotkin asemat ovat jopa tietoisia niissä olevasta tiedostojärjestelmästä), mutta pohjimmiltaan ajattele ajaa vain iso tyhmä tiili varastointia satunnaisesti bonus suorituskyvyn ominaisuuksia.

    2. Käyttöjärjestelmäsi ei myöskään etsi paikkoja, joissa asiat on asetettu. Hakua ei ole. Ongelma on ratkaistu paljon, koska se on ratkaiseva tiedostojärjestelmän suorituskyvyn kannalta. Tiedostojärjestelmä määrittää tavan, jolla tiedot todella järjestetään asemaan. Esimerkiksi FAT32 (vanha DOS ja Windows PC), NTFS (myöhemmin Windows-versiot), HFS + (Mac), ext4 (jotkut Linux-järjestelmät) ja monet muut. Jopa "tiedoston" ja "hakemiston" käsite on vain tyypillisten tiedostojärjestelmien tuotteita - kiintolevyt eivät tiedä mitään salaperäisistä eläimistä, joita kutsutaan tiedostot. Tiedot eivät kuulu tämän vastauksen soveltamisalaan. Mutta olennaisesti kaikilla tavallisilla tiedostojärjestelmillä on tapoja seurata, missä käytettävissä oleva tila on asemassa niin, että vapaan tilan etsiminen on normaaleissa olosuhteissa (eli hyvässä tervey- dessä olevia tiedostojärjestelmiä) tarpeeton. esimerkkejä:

    • NTFS: ssä on päätiedostotaulukko, joka sisältää erityiset tiedostot $ Bitmap, jne. ja paljon asemaa kuvaavia metatietoja. Pohjimmiltaan se seuraa, missä seuraavat vapaat lohkot ovat niin, että uudet tiedostot voidaan kirjoittaa suoraan vapaisiin lohkoihin ilman, että tarvitset skannausta ajaa joka kerta.
    • Toinen esimerkki: Ext4: llä on nimeltään bittikarttakohde, parannus verrattuna ext2: hen ja ext3: een, joka pohjimmiltaan auttaa suoraan määrittämään, missä vapaita lohkoja on vapaiden lohkojen luettelon skannaamisen sijasta. Ext4 tukee myös viivästynyt jakaminen, toisin sanoen käyttöjärjestelmän RAM-muistin puskurointi ennen sen kirjoittamista asemaan, jotta voidaan tehdä parempia päätöksiä siitä, mistä se voidaan vähentää pirstoutumisen vähentämiseksi.
    • Monet muut esimerkit.

    "Tai liikkumalla asioita, jotta saat tarpeeksi pitkän jatkuvan tilan säästääkseen jotain?"

    Ei. Tämä ei tapahdu, ainakin ei missään tiedostojärjestelmässä, josta tiedän. Tiedostot ovat vain hajanaisia.

    Prosessia, jossa "siirretään asiat ympäriinsä, jotta saataisiin tarpeeksi pitkä vierekkäinen tila jotain säästäväksi" kutsutaan eheyttämisen. Tämä ei tapahdu, kun tiedostoja kirjoitetaan. Tämä tapahtuu, kun käytät levyn eheyttäjää. Uudemmissa Windows-versioissa tämä tapahtuu ainakin aikataulussa automaattisesti, mutta sitä ei koskaan käynnistetä kirjoittamalla tiedosto.

    Kykenevä välttää näin liikkuvien asioiden siirtäminen on avain tiedostojärjestelmän suorituskykyyn, ja siksi fragmentointi tapahtuu ja miksi eheytys tapahtuu erillisenä vaiheena.

    "Kuinka paljon tyhjää tilaa pitäisi jättää vapaaksi kiintolevylle?"

    Tämä on hankalampi kysymys, johon vastataan (ja tämä vastaus on jo muuttunut pieneksi teokseksi).

    Nyrkkisäännöt:

    1. Kaikille asemille:

    • Mikä tärkeintä, jätä riittävästi vapaata tilaa voit käyttää tietokonettasi tehokkaasti. Jos tilaa on töissä, haluat suuremman aseman.
    • Monet levyn eheytysvälineet edellyttävät vähimmäismäärää vapaata tilaa (mielestäni Windows-käyttöjärjestelmä vaatii 15 prosenttia, pahinta tapausta) toimimaan. He käyttävät tätä vapaata tilaa tilapäisesti pitämään fragmentoituja tiedostoja, koska muut asiat järjestetään uudelleen.
    • Jätä tilaa muille käyttöjärjestelmän toiminnoille. Jos esimerkiksi laitteessasi ei ole paljon fyysistä RAM-muistia, ja sinulla on virtuaalimuisti käytössä dynaamisesti mitoitetulla sivutiedostolla, haluat jättää riittävästi tilaa sivutiedoston enimmäiskokoon. Tai jos sinulla on kannettava tietokone, jonka olet asettanut lepotilaan, tarvitset tarpeeksi vapaata tilaa lepotilan tilatiedostoon. Tällaisia ​​asioita.

    2. SSD-spesifinen:

    • Optimaalisen luotettavuuden (ja vähäisemmässä määrin myös suorituskyvyn) saavuttamiseksi SSD-laitteet tarvitsevat vapaata tilaa, jotka käyttävät liikaa tietoa levittämällä tietoja aseman ympärille, jotta vältetään jatkuvasti kirjoittaminen samaan paikkaan (joka kuluttaa ne pois). . Tätä vapaan tilan jättämistä koskevaa käsitettä kutsutaan ylikäyttöiseksi. On tärkeää, mutta monissa SSD-järjestelmissä pakollinen ylivarausalue on jo olemassa. Toisin sanoen taajuusmuuttajilla on usein muutama kymmenen GB kuin ne raportoivat käyttöjärjestelmälle. Alemman tason asemat edellyttävät usein, että lähdet manuaalisesti osioimaton tilaa, mutta pakollisten käyttöjärjestelmien kanssa, sinun ei tarvitse jättää vapaata tilaa. Tärkeää on huomata tässä liikaa varattu tila otetaan usein vain irrottamattomasta tilasta. Joten jos osio vie koko aseman ja jätät siihen vapaan tilan, se ei ole aina Kreivi. Manuaalinen ylivaraus vaatii monta kertaa, että kutistat osioesi pienemmäksi kuin taajuusmuuttajan koko. Tarkista SSD: n käyttöohje. TRIM, roskien keräys ja sellaiset vaikutukset ovat myös, mutta ne eivät kuulu tämän vastauksen soveltamisalaan.

    Henkilökohtaisesti otan yleensä isomman aseman, kun minulla on jäljellä noin 20-25 prosenttia vapaata tilaa. Tämä ei liity suorituskykyyn, vaan juuri silloin, kun pääsen tähän pisteeseen, odotan, että pian tietosi loppuu pian ja on aika saada isompi asema.

    Tärkeämpää kuin vapaan tilan katselu on varmistaa, että ajoitettu eheytys on käytössä (ei SSD-laitteissa) niin, että et pääse koskaan siihen pisteeseen, jossa se joutuu tarpeeksi vaikeaksi.


    On vielä yksi mainittava asia. Yksi tähän liittyvistä vastauksista mainitsi, että SATA: n puolidupleksitila estää lukemisen ja kirjoittamisen samanaikaisesti. Vaikka tämä on totta, se on huomattavasti liian yksinkertaistettu ja se ei useinkaan liity tässä käsiteltäviin esityskysymyksiin. Tämä tarkoittaa yksinkertaisesti sitä, että tietoja ei voida siirtää molempiin suuntiin langalla samaan aikaan. SATA: lla on kuitenkin melko monimutkainen määritys, johon liittyy pieniä maksimilohkokokoja (noin 8 kB lohkossa lanka, mielestäni), luku- ja kirjoitusoperaatioiden jonot jne., Ja ei estä kirjoittamasta puskureihin, jotka tapahtuvat lukemisen aikana, lomitettuina toiminta jne.

    Mahdolliset esteet johtuvat kilpailusta fyysisistä resursseista, joita yleensä lieventää runsaasti välimuistia. SATA: n duplex-tila on täällä lähes täysin merkityksetön.


    (A) ”Hidas” on laaja termi. Täällä käytän sitä viittaamaan asioihin, jotka ovat joko I / O-sidottuja (ts. Jos tietokone istuu siellä lyömällä numeroita, kiintolevyn sisällöllä ei ole vaikutusta) tai CPU-sidottu ja kilpailee tangentiaalisesti liittyvien asioiden kanssa, joilla on korkea CPU-käyttö (eli virustorjuntaohjelmien skannaus tonnia tiedostoja).

    (B) Hajaantuminen vaikuttaa SSD: hen, koska peräkkäiset pääsynopeudet ovat yleensä nopeampia kuin satunnainen pääsy, vaikka SSD: t, jotka eivät kohdistu samoihin rajoituksiin kuin mekaaninen laite (silloinkin fragmentaation puuttuminen ei takaa peräkkäistä pääsyä kulumisen tasauksen vuoksi, jne.). Tämä on kuitenkin käytännöllisesti katsoen jokaisessa yleiskäyttöisessä skenaariossa ongelma. SSD: iden hajanaisuudesta johtuvat suorituskyvyn erot ovat yleensä vähäisiä asioissa, kuten sovellusten lataamisessa, tietokoneen käynnistämisessä jne.

    (C) Olettaen järkevän tiedostojärjestelmän, joka ei hajana tiedostoja tarkoitukseen.

    Muista lukea SuperUserin jäljellä oleva vilkas keskustelu alla olevan linkin kautta!


    Onko jotain lisättävää selitykseen? Ääni pois kommenteista. Haluatko lukea lisää vastauksia muilta tech-savvy Stack Exchange -käyttäjiltä? Tutustu koko keskusteluketjuun täällä.