Kun opiskelet enemmän tietokoneista ja miten he työskentelevät, satutat joskus jotain sellaista, jolla ei ole merkitystä. Tässä mielessä tyhjennys levytilaa nopeuttavat tietokoneet ylöspäin? Tänään SuperUser Q & A -postilla on vastaus hämmentynyt lukijan kysymykseen.
Tämän päivän kysymys- ja vastausistunto tulee meihin SuperUserin hyväksi - Stack Exchangein alaosasto, joka on yhteisöllinen Q & A-sivustojen ryhmittely.
Kuvakaappaus nchengasta (Flickr).
SuperUser-lukija Remi.b haluaa tietää, miksi levytilan tyhjennys näyttää nopeuttavan tietokonetta:
Olen seurannut paljon videoita ja nyt ymmärrä, miten tietokoneet toimivat paremmin. Ymmärrän, mikä RAM on, haihtuvasta ja haihtumattomasta muistista ja vaihtoprosessista. Ymmärrän myös, miksi RAM-muistin lisääminen nopeuttaa tietokonetta.
Mitä en ymmärrä, miksi levytilan puhdistaminen näyttää nopeuttavan tietokonetta. Onko se todella nopeuttaa tietokoneen ylös? Jos on, niin miksi se tekee niin?
Onko sillä jotain tekemistä muistialueen etsimiseen pelien säästämiseksi tai liikkeellä olevien asioiden tekemiseksi riittävän pitkään jatkuvan tilan säästämiseksi? Kuinka paljon tyhjää tilaa jätän vapaalle kiintolevylle?
Miksi levytilan tyhjentäminen näyttäisi nopeuttavan tietokonetta?
SuperUser-avustaja Jason C on meille vastaus:
"Miksi levytilan tyhjentäminen nopeuttaa tietokoneita?"
Se ei ainakaan ole omaa. Tämä on todella yleinen myytti. Syynä on se, että kiintolevyn täyttäminen tapahtuu usein samanaikaisesti kuin muut asiat, jotka perinteisesti voivat hidastaa tietokonetta (A). SSD-suorituskyky heikkenee, kun ne täyttävät, mutta tämä on suhteellisen uusi ongelma, joka on ainutlaatuinen SSD-tiedostoille, eikä se ole varsin havaittavissa satunnaisille käyttäjille. Yleensä pieni vapaata levytilaa on vain punainen silakka.
Esimerkiksi:
1. Tiedoston fragmentoituminen. Tiedoston hajanaisuus on ongelma (B), mutta vapaan tilan puute, joka on varmasti yksi monista tekijöistä, ei ole ainoa syy siihen. Jotkut keskeiset kohdat tässä:
- Tiedoston hajanaisuus mahdollisuudet ovat ei joka liittyy taajuusmuuttajan jäljellä olevaan vapaaseen tilaan. Ne liittyvät suurimman, vapaaseen tilaan liittyvän suurimman lohkon kokoon (toisin sanoen vapaan tilan "reikiä"), jolloin vapaan tilan määrä sattuu asettamaan ylärajan. Ne liittyvät myös siihen, miten tiedostojärjestelmä käsittelee tiedostojen jakamista (enemmän alla). Mieti: Ainetta, joka on 95 prosenttia täynnä, kun kaikki vapaat tilat ovat yhtä yhtenäistä lohkoa, on nolla prosenttia mahdollisuus hajottaa uuden tiedoston (C) (ja liitetyn tiedoston fragmentoitumismahdollisuus on riippumaton vapaasta tilasta). Taajuusmuuttaja, joka on viisi prosenttia täynnä, mutta tiedot levittävät tasaisesti taajuusmuuttajaa vastaan, ovat hyvin suuria hajanaisuuden mahdollisuuksia.
- Muista, että tiedoston pirstoutuminen vaikuttaa vain suorituskykyyn hajautettujen tiedostojen käytössä. Mieti: Sinulla on mukava, eheytetty asema, jolla on vielä paljon ilmaisia "reikiä". Yhteinen skenaario. Kaikki toimii sujuvasti. Lopulta saat kuitenkin pisteeseen, jossa ei ole enää suuria vapaata tilaa. Ladat valtavan elokuvan, tiedoston loppu on erittäin hajanaista. Tämä ei hidastuta tietokonetta. Kaikki hakemustiedostot ja sellaiset, jotka olivat aikaisemmin hienoja, eivät yhtäkkiä pirstoutuneet. Tämä voi tehdä elokuvan kauempaa ladata (vaikka tyypilliset elokuvien bittinopeudet ovat niin alhaiset kuin kiintolevyn lukumäärät, että se todennäköisesti on huomaamaton), ja se voi vaikuttaa I / O-sidotun suorituskyvyn ollessa elokuvan lataamisessa, mutta muu kuin tämä, mitään ei muutu.
- Vaikka tiedostojen hajanaisuus on varmasti ongelma, usein vaikutukset vähenevät OS- ja laitteistotason puskuroinnilla ja välimuistilla. Viivästyneet kirjoitukset, ennakoivat strategiat, kuten prefetcher Windowsissa jne., Kaikki vähentävät pirstoutumisen vaikutuksia. Et yleensä tee sitä itse asiassa kokevat merkittäviä vaikutuksia, kunnes pirstoutuminen tulee vaikeaksi (haluan jopa sanoa, että niin kauan kuin swap-tiedosto ei ole hajanaista, et todennäköisesti koskaan huomaa).
2. Hakemistointi on toinen esimerkki. Sano, että automaattinen indeksointi on käytössä ja käyttöjärjestelmä, joka ei käsittele tätä gracefully. Kun tallennat tietokoneellesi yhä enemmän indeksoitavia sisältöjä (asiakirjat ja muut), indeksointi voi kestää kauemmin ja pitempään ja saattaa vaikuttaa tietokoneesi havaittuun nopeuteen sen ollessa käynnissä sekä I / O- että CPU-käyttö . Tämä ei liity vapaaseen tilaan, vaan se liittyy sen indeksoitavan sisällön määrään. Kuitenkin vapaan tilan loppuminen kulkee käsi kädessä tallentamalla enemmän sisältöä, jolloin väärä yhteys muodostetaan.
3. Virustorjuntaohjelma (samanlainen kuin hakumerkintäesimerkki). Sano, että sinulla on virustorjuntaohjelmisto, jonka avulla voit tehdä taustasi skannauksen. Koska sinulla on enemmän ja enemmän skannaavaa sisältöä, haku vie enemmän I / O- ja CPU-resursseja, jotka mahdollisesti häiritsevät työsi. Jälleen, tämä liittyy siihen, kuinka paljon skannaus sisältöä sinulla on. Lisää sisältöä on usein vähemmän vapaata tilaa, mutta vapaan tilan puute ei ole syy.
4. Asennettu ohjelmisto. Sano, että sinulla on paljon ohjelmistoja, jotka latautuvat tietokoneen käynnistyessä, mikä hidastaa aloitusajankohtaa. Tämä hidastuminen tapahtuu, koska paljon ohjelmia ladataan. Asennettu ohjelmisto vie kuitenkin kiintolevytilaa. Siksi kiintolevyn vapaata tilaa vähenee samaan aikaan, kun näin tapahtuu, ja jälleen väärä yhteys voidaan helposti tehdä.
5. Monia muita esimerkkejä näistä linjoista, jotka yhdessä, ilmestyä liittää tiiviisti vapaan tilan puute alhaisempaan suorituskykyyn.
Yllä oleva esimerkki osoittaa toisen syyn, että tämä on niin yleinen myytti: Vaikka vapaan tilan puute ei ole suora syy hidastaa, poistaa eri sovelluksia, poistaa indeksoidun tai skannatun sisällön jne. Joskus (mutta ei aina; tämä vastaus) lisää suorituskykyä edelleen syistä, jotka eivät liity jäljellä olevaan vapaata tilaa. Mutta tämä myös luonnollisesti vapauttaa kiintolevytilaa. Siksi taas voidaan saada aikaan ilmeinen (mutta väärä) yhteys "vapaan tilan" ja "nopeamman tietokoneen" välillä.
Mieti: Jos kone on käynnissä hitaasti monien asennettujen ohjelmistojen vuoksi jne., Kloonata kiintolevy (tarkalleen) suuremmalle kiintolevylle, laajenna osioitasi saadaksesi enemmän tilaa, kone ei mahdu magiaan. Sama ohjelmisto latautuu, samat tiedostot ovat edelleen hajanoituja samoilla tavoilla, sama hakumerkintä jatkuu, mikään ei muutu huolimatta enemmän vapaata tilaa.
"Onko sillä jotain tekemistä muistialueen etsimiseen pelastamiseksi?"
Ei, se ei. Tässä on kaksi erittäin tärkeää asiaa,
1. Kiintolevy ei etsi ympäriinsä paikkoja, joilla asioita voidaan asettaa. Kiintolevy on tyhmä. Se ei ole mitään. Se on iso osoitetun tallennuksen lohko, joka sokeasti asettaa asioita, joissa käyttöjärjestelmäsi kertoo sen ja lukee mitä tahansa. Nykyaikaisilla asemilla on kehittyneitä välimuistinesto- ja puskurointimekanismeja, jotka on suunniteltu ennakoimaan, mitä OS aikoo kysyä saadun kokemuksen perusteella (jotkut asemat ovat jopa tietoisia tiedostojärjestelmästä, joka on heille), mutta lähinnä ajattele ajaa vain suurena tyhmänä varastokerroksena satunnaisilla bonusominaisuuksilla.
2. Käyttöjärjestelmäsi ei myöskään etsi paikkoja, joilla voit asentaa asioita. Ei ole etsimistä. Tämä ongelma on ratkaistu paljon, koska se on ratkaisevan tärkeää tiedostojärjestelmän suorituskyvyn kannalta. Tietojärjestelmä määrittää, miten tiedot todella järjestetään asemaan. Esimerkiksi FAT32 (vanhat DOS- ja Windows-tietokoneet), NTFS (myöhemmät Windows-versiot), HFS + (Mac), ext4 (jotkut Linux-järjestelmät) ja monet muut. Jopa "tiedoston" ja "hakemiston" käsite ovat vain tyypillisten tiedostojärjestelmien tuotteita - kiintolevyt eivät tiedä mitään salaperäisistä eläimistä, joita kutsutaan nimellä tiedostot. Tiedot eivät kuulu tämän vastauksen soveltamisalaan. Kaikissa tavallisissa tiedostojärjestelmissä on kuitenkin oleellisesti tapoja seurata, missä käytettävissä oleva tila on asema, joten vapaan tilan etsiminen on normaaleissa olosuhteissa (eli hyvän tiedostojärjestelmän) tarpeeton. esimerkkejä:
- NTFS: ssä on päätiedostataulukko, joka sisältää erikoistiedostot $ Bitmap, jne., ja runsaasti metatietoja, jotka kuvaavat asemaa. Pohjimmiltaan se seuraa, missä seuraavat vapaat lohkot ovat, jotta uudet tiedostot voidaan kirjoittaa suoraan vapaisiin lohkoihin ilman, että sinun on tarkistettava asema aina.
- Toinen esimerkki: Ext4: ssä on ns. Bitmap-allokoija, parannus ext2: n ja ext3: n parissa, mikä auttaisi suoraan määrittämään, missä vapaissa lohkoissa on skannaus vapaiden lohkojen luettelon sijasta. Ext4 tukee myös viivästyneet kohdentaminen, eli OS: n puskuroimalla RAM: iin ennen sen kirjoittamista taajuusmuuttajaan, jotta voidaan tehdä parempia päätöksiä siitä, mistä se vähentää pirstoutumista.
- Monet muut esimerkit.
"Tai liikuttaessasi asioita, jotta voisit tehdä tarpeeksi kauan tarpeeksi tilaa pelastaa jotain?"
Ei. Tämä ei tapahdu, ainakaan minkään tietojärjestelmän kanssa, jonka tiedän. Tiedostot juuri päätyvät hajanaisiin.
Tätä kutsutaan prosessiksi, jossa "liikutetaan asioita tarpeeksi kauan tarpeeksi tilaa pitämään jotain säästävää" eheyttämisen. Tämä ei tapahdu, kun tiedostot on kirjoitettu. Tämä tapahtuu, kun suoritat levyn eheyttämisen. Uusimmissa Windows-versioissa tämä tapahtuu ainakin aikataulussa, mutta tiedostoa ei koskaan laukaista.
Kykenevä välttää liikkuvat asiat noin ovat avain tiedostojärjestelmän suorituskykyyn, ja siksi pirstoutuminen tapahtuu ja miksi eheytys on erillinen vaihe.
"Kuinka paljon tyhjää tilaa jätän vapaalle kiintolevylle?"
Tämä on haastavampi kysymys vastaukselle (ja tämä vastaus on jo muuttunut pieneksi kirjaksi).
Nyrkkisäännöt:
1. Kaikkien asemien tyypit:
- Tärkeintä on antaa riittävästi tilaa voit käyttää tietokonetta tehokkaasti. Jos käytät tilaa avaruuteen, tarvitset suuremman aseman.
- Monet levyn eheytystyökalut edellyttävät vähimmäismäärää vapaata tilaa (mielestäni Windows vaatii 15 prosenttia, pahimmassa tapauksessa). He käyttävät tätä vapaata tilaa tilapäisesti pitämään pirstoutuneita tiedostoja, kun muut asiat järjestetään uudelleen.
- Jätä tilaa muille OS-toiminnoille. Jos esimerkiksi koneessasi ei ole paljon fyysistä RAM-muistia ja sinulla on virtuaalimuistia käytössä dynaamisesti kootulla sivun tiedostolla, haluat jättää tarpeeksi tilaa sivun tiedoston enimmäiskokoon. Jos sinulla on kannettava tietokone, jonka asetat horrostilaan, tarvitset riittävästi tilaa lepotilan tilatiedostoon. Tällaiset asiat.
2. SSD-spesifinen:
- Jotta optimaalinen luotettavuus (ja vähäisemmässä määrin suorituskyky) SSD: t vaatisivat jonkin verran vapaata tilaa, jotka käyttävät liikaa yksityiskohtia liikkumatta levylle levylle pyörittämään tietoja samasta paikasta (joka kuluttaa ne) . Tätä vapaata tilaa vapauttava käsite kutsutaan ylimääräiseksi varautumiseksi. On tärkeää, mutta monissa SSD-levyissä pakollinen ylisuurennettu tila on jo olemassa. Eli asemilla on usein muutama tusina enemmän GB: ää kuin ne raportoivat käyttöjärjestelmälle. Pienemmät taajuusmuuttajat edellyttävät usein manuaalista lähtemistä osioimaton tilaa, mutta pakollisen OP: n, sinun ei tarvitse jättää vapaata tilaa. Tärkeää on huomata, että tässä on kyse liian varattua tilaa käytetään usein vain osittamattomasta tilasta. Joten jos osio vie koko aseman ja jättää jonkin verran vapaata tilaa, sitä ei aina Kreivi. Monta kertaa, manuaalinen ylitallennus vaatii, että kutistelet osioasi pienemmäksi kuin levyaseman koko. Tarkista lisätietoja SSD: n käyttöohjeesta. TRIM, roskakokoelma, ja tällaisilla on myös vaikutuksia, mutta ne eivät kuulu tämän vastauksen soveltamisalaan.
Henkilökohtaisesti tavallisesti tartuin isompi asema, kun minulla on noin 20-25 prosenttia vapaata tilaa jäljellä. Tämä ei liity suorituskykyyn, vaan juuri silloin, kun pääsen siihen pisteeseen, odotan, että luultavasti loppuaan tietoja tiedoista pian ja on aika saada suurempi asema.
Tärkeämpää kuin vapaan tilan katselu on varmistaa, että aikataulun eheytys on otettu käyttöön tarvittaessa (ei SSD: t), joten et koskaan pääse siihen pisteeseen, jossa se tulee tarpeeksi kauan vaikuttamaan sinuun.
Yksi viimeinen asia on syytä mainita. Yksi muista vastauksista kertoi, että SATA: n puoliksi dupleksi-tila estää lukemisen ja kirjoittamisen samanaikaisesti. Vaikka totta, tämä on huomattavasti yksinkertaistunut, eikä se ole läheskään riippuvainen tässä käsitellyistä suorituskykyongelmista. Tämä tarkoittaa yksinkertaisesti sitä, että tietoja ei voida siirtää molempiin suuntiin langalla samaan aikaan. Kuitenkin SATA: lla on melko monimutkainen spesifikaatio, johon liittyy pienet maksimikokoiset koot (noin 8 kB per lankarunko, mielestäni), luku- ja kirjoitusjonojen jonoja jne., Ja se ei sulje pois kirjoituksia puskureihin, kun lukemat ovat käynnissä, lomitettuina toiminta, jne.
Kaikki esteet, jotka ilmenevät, johtuvat kilpailevista fyysisistä resursseista, joita tavallisesti lieventää runsaasti välimuistia. SATAn duplex-tila on lähes täysin merkityksetön täällä.
(A) "Hidas" on laaja käsite. Tässä käytän sitä viittaamaan asioihin, jotka ovat joko I / O-sidottuja (eli jos tietokone istuu siellä rypistyneissä numeroissa, kiintolevyn sisältö ei vaikuta) tai CPU-sidottu ja kilpaileva tangentiaalisesti liittyvien asioiden kanssa, joilla on korkea CPU: n käyttö (eli anti-virusohjelmiston skannaus tonnia tiedostoja).
(B) SSD: t vaikuttavat hajanaisuuteen, kun peräkkäiset pääsynopeudet ovat yleensä nopeampia kuin satunnaiset liittymät, vaikka SSD: t eivät kohdistu samoihin rajoituksiin kuin mekaaninen laite (jopa silloin, pirstaleisuuden puute ei takaa peräkkäistä pääsyä kulumisen tasoittamisen takia jne.). Käytännöllisesti katsoen jokainen yleinen käyttötapahtuma ei ole ongelma. SSD-laitteiden sirpaloitumisesta johtuvat suorituskykyerot ovat tyypillisesti vähäpätöisiä esimerkiksi sovellusten lataamiseen, tietokoneen käynnistämiseen jne.
(C) Olettaen, että järkevä tiedostojärjestelmä ei hajota tiedostoja tarkoituksella.
Varmista, että lue loput vilkkaasta keskustelusta SuperUserin kautta alla olevasta linkistä!
Onko jokin asia lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä? Katso koko keskusteluketju täältä.