Kotisivu » miten » Miksi koko ja levyn koko välillä on suuri ero?

    Miksi koko ja levyn koko välillä on suuri ero?

    Suurimman osan ajasta "Koko" ja "Koko levyllä" -arvot ovat hyvin lähellä vastaavuutta, kun tarkistetaan kansion tai tiedoston koko, mutta entä jos näiden kahden välillä on valtava ero? Tämän päivän SuperUser-Q&A -viesti tarkastelee vastausta tähän hämmentävään ongelmaan.

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

    Kysymys

    SuperUser-lukija thelastblack haluaa tietää, miksi puhelimen SD-kortin kansiossa on kokoa "Koko" ja "Koko levyllä":

    Kuten alla on nähtävissä, tämän kansion ”Koko” ja ”Koko levyllä” -kentässä on niin paljon eroa. Miksi niin?

    Tiedän, että "Koko levylle" pitäisi olla hieman suurempi kuin "Koko", koska Windowsissa on allokointilaitteita, mutta miksi on niin paljon eroa? Voisiko se olla suuri määrä tiedostoja?

    BTW, tämä kansio on Android-puhelimen SD-kortilla. Tämän sisällä karttojen sovellus tallentaa välimuistiin tallennetut kartat ja sovellus saa kartat Google Mapsista.

    Kuvakaappausta tarkasteltaessa "Koko" - ja "Koko levyllä" on ehdottomasti suuri ero, joten mitä on tapahtunut täällä?

    Vastaus

    SuperUserin avustaja Bobilla on vastaus meille:

    Oletan, että käytät tässä FAT / FAT32-tiedostojärjestelmää, koska mainitset tämän olevan SD-kortti. NTFS ja exFAT käyttäytyvät samalla tavalla kohdennusyksiköiden osalta. Muut tiedostojärjestelmät saattavat olla erilaisia, mutta niitä ei tueta Windowsissa.

    Jos sinulla on paljon pieniä tiedostoja, tämä on varmasti mahdollista. Harkitse tätä:

    • 50 000 tiedostoa
    • 32 KB: n klusterikoko (allokointiyksiköt), joka on FAT32: n suurin

    Ok, nyt minimi otettu tila on 50 000 * 32 000 = 1,6 Gt (käyttäen SI-etuliitteitä, ei binaarisia, matematiikan yksinkertaistamiseksi). Jokaisen tiedoston levyllä oleva tila on aina allokointiyksikön koko - ja tällöin oletamme, että jokainen tiedosto on todella pieni niin, että se mahtuu yhteen yksikköön..

    Jos jokainen tiedosto on keskimäärin 2 kilotavua, saatte noin 100 Mt: n kokonaismäärän - mutta olet myös hukkaan 15-kertainen (30 KB / tiedosto) keskimäärin allokointiyksikön koon vuoksi..

    Syvyysselitys

    Miksi näin tapahtuu? FAT32-tiedostojärjestelmässä täytyy seurata, missä kukin tiedosto on tallennettu. Jos se pitää luettelon jokaisesta tavusta, taulukko (kuten osoitekirja) kasvaisi samalla nopeudella kuin data - ja tuhlaa paljon tilaa. Joten mitä he tekevät, käytetään "allokointiyksiköitä", jotka tunnetaan myös nimellä "klusterikoko". Äänenvoimakkuus jakautuu näihin allokointiyksiköihin, ja tiedostojärjestelmää varten niitä ei voida jakaa - ne ovat pienimpiä lohkoja, joihin se voi vastata. Paljon, kuten sinulla on talonumero, mutta postimies ei välitä siitä, kuinka monta makuuhuonetta sinulla on tai kuka heissä asuu.

    Mitä tapahtuu, jos sinulla on hyvin pieni tiedosto? Tiedostojärjestelmä ei välitä, jos tiedosto on 0 KB, 2 KB tai jopa 15 KB, se antaa sille vähiten tilaa - edellä olevassa esimerkissä, se on 32 KB. Tiedostosi käyttää vain pienen määrän tätä tilaa, ja loput ovat varsin hukkaan, mutta silti kuuluu tiedostoon - aivan kuin makuuhuone, jonka jätät vapaaksi.

    Miksi on olemassa eri allokointiyksiköiden kokoja? No, siitä tulee kompromissi isomman pöydän (osoitekirja, esim. Sanomalla John omistaa talon 123 Fake Streetin, 124 Fake Streetin, 666 Saatanan kaistan jne.) Välillä, tai enemmän hukattua tilaa jokaisessa yksikössä (talo) . Jos sinulla on suurempia tiedostoja, on järkevämpää käyttää suurempia allokointiyksiköitä - koska tiedosto ei saa uutta yksikköä (talo), ennen kuin kaikki muut ovat täynnä. Jos sinulla on paljon pieniä tiedostoja, sinulla on kuitenkin iso pöytä (osoitekirja), joten saatat myös antaa heille pieniä yksiköitä (taloja).

    Suuret allokointiyksiköt hävittävät yleensä paljon tilaa, jos sinulla on paljon pieniä tiedostoja. Yleensä ei yleensä ole hyvä syy mennä yli 4 kilotavua.

    pirstoutuminen?

    Hajanaisuuden osalta fragmentaation ei pitäisi hukata tilaa tällä tavalla. Suuret tiedostot voivat olla pirstoutuneita, ts. Hajotettuja, useisiin allokointiyksiköihin, mutta jokainen yksikkö on täytettävä ennen seuraavaa käynnistystä. Eheyttäminen saattaa säästää vähän tilaa allokaatiotaulukoissa, mutta tämä ei ole sinun erityinen ongelma.

    Mahdolliset ratkaisut

    Kuten gladiator2345 ehdotti, ainoat todelliset vaihtoehdot tässä vaiheessa ovat elää sen kanssa tai muotoilla uudelleen pienemmillä allokointiyksiköillä.

    Korttisi voi olla alustettu FAT16: ssa, jolla on pienempi raja-arvo pöydän koossa, ja siksi se vaatii paljon suurempia allokointiyksiköitä, jotta voidaan käsitellä suurempaa äänenvoimakkuutta (ylärajana 2 Gt ja 32 KB: n allokointiyksiköt). Lähde kohteliaisuus Braiam. Jos näin on, sinun pitäisi pystyä joka tapauksessa turvallisesti muotoilemaan FAT32.


    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ä.