12Aug

Kodėl labai skiriasi "dydis" ir "dydis diske"?

click fraud protection

Daugeliu atvejų "dydžio" ir "dydžio diske" vertės bus labai panašios, kai bus patikrintas aplanko ar failo dydis, bet kas, jei tarp šių dviejų yra didelis neatitikimas?Šiandien "SuperUser" Q & postas žvelgia į atsakymą į šią klaidinančią problemą.

Šiandienos klausimas &Atsakymų sesija ateina pas mus iš "SuperUser" - "Stack Exchange", bendruomenės pagrįstos "Q & A" svetainių grupės pasidalijimo.

Klausimas

SuperUser skaitytojas thelastblack nori žinoti, kodėl toks skirtumas tarp "Size" ir "Size on disk" yra jo telefono SD kortelėje esančio aplanko:

Kaip matote toliau, yra tiek daug skirtumų tarpŠiame aplanke esantys laukai "Dydis" ir "Dydis diske".Kodėl tai?

Aš žinau, kad "Dydis diske" turėtų būti šiek tiek daugiau nei "Dydis" dėl "Windows" paskirstymo vienetų, bet kodėl toks didelis skirtumas? Ar tai gali būti dėl didelio failų skaičiaus?

BTW, šis aplankas yra mano "Android" telefono SD kortelėje. Viduje "mano žemėlapiai" programa saugo talpyklinius žemėlapius, o programa gauna savo žemėlapius iš "Google" žemėlapių.

instagram viewer

Žvelgiant į ekrano kopiją, tikrai yra didelis neatitikimas tarp "Dydis" ir "Dydis diske", taigi kas čia nutiko, kad tai sukelti?

Atsakymas

SuperUser autorius Bob atsakė mums:

Aš manysiu, kad čia naudojate FAT / FAT32 failų sistemą, nes paminėjote tai yra SD kortelė.NTFS ir exFAT elgsis panašiai, kalbant apie paskirstymo vienetus. Kitos failų sistemos gali skirtis, bet vis tiek jų nepalaiko Windows.

Jei turite daug mažų failų, tai tikrai įmanoma. Apsvarstykite tai:

  • 50,000 failų
  • 32 KB klasterio dydis( paskirstymo vienetai), kuris yra maks. FAT32

Gerai, dabar mažiausias atstumas yra 50 000 * 32 000 = 1,6 GB( naudojant SI prefiksus, o ne dvejetainius, siekiant supaprastintiMatematika).Kiekvieno failo vieta diske visada yra paskirstymo vieneto dydžio kartotinis. Čia mes darome prielaidą, kad kiekvienas failas iš tikrųjų yra pakankamai mažas, kad tilptų į vieną įrenginį, o kai( prarasta) erdvė liko.

Jei kiekvienas failas vidutiniškai 2 KB, jūs gaunate maždaug 100 MB, bet jūs taip pat praleidžiate 15 kartų( 30 KB kiekvienam failui) dėl paskirstymo vieneto dydžio.

Išsamus paaiškinimas

Kodėl taip atsitinka? Na, FAT32 failų sistema turi stebėti, kur saugomi kiekvienas failas. Jei reikėtų laikytis kiekvieno baito sąrašo, lentelė( pvz., Adresų knyga) augtų tokiu pat greičiu, kaip ir duomenys, ir švaistoma daug vietos. Taigi, ką jie daro, naudokite "paskirstymo blokus", dar vadinamą "klasterio dydžiu".Tomas suskirstytas į šiuos paskirstymo vienetus, o failų sistemos atžvilgiu jų negalima suskirstyti į dalis - tai yra mažiausi blokai, į kuriuos gali kreiptis. Panašiai kaip jūs turite namo numerį, bet jūsų pašto laikraščiui nesvarbu, kiek jose yra miegamųjų arba kurie gyvena.

Taigi, kas atsitiks, jei turite labai mažą failą?Na, failų sistema nesvarbu, ar failas yra 0 KB, 2 KB ar net 15 KB, tai suteiks jam mažiausią erdvę - aukščiau pateiktame pavyzdyje tai yra 32 KB.Jūsų failas naudoja tik nedidelę šio vietos kiekį, o likusi dalis iš esmės yra švaistomi, bet vis tiek priklauso failui - panašiai kaip miegamasis, kurį paliekate neužimta.

Kodėl yra skirtingi paskirstymo vienetų dydžiai? Na, tai tampa kompromisas tarp didesnės lentelės( adresų knygos, pvz., Sakoma, kad "John turi namą 123 Fake Street, 124 Fake Street, 666 Satan Lane ir kt.) Arba daugiau pamestų erdvių kiekviename vienete( namuose).Jei turite didesnių rinkmenų, labiau tikslinga naudoti didesnius paskirstymo blokus - nes failas negauna naujo vieneto( namo), kol visi kiti bus užpildyti. Jei turite daug smulkių failų, gerai, jūs vis tiek turėsite didelę lentelę( adresų knygą), todėl taip pat galėsite duoti jiems mažus vienetus( namus).

Paprastai didelių asignavimų vienetai bus daug švaistomi, jei turite daug mažų failų.Paprastai nėra pagrindo viršyti 4 KB bendram naudojimui.

suskaidymas?

Kalbant apie suskaidymą, suskaidymas neturėtų švaistyti vietos. Dideli failai gali būti suskaidyti, t. Y. Suskaidyti, į kelis paskirstymo blokus, tačiau kiekvieną bloką reikia užpildyti prieš pradedant kitą.Defragmentavimas gali sutaupyti šiek tiek vietos paskirstymo lentelėse, tačiau tai nėra jūsų konkreti problema.

Galimi sprendimai

Kaip pasiūlė gladiator2345, šiuo metu jūsų vienintelės realios galimybės yra su juo gyventi arba suformuoti mažesniais vienetų paskirstymo variantais.

Jūsų kortelė gali būti suformatuotas FAT16, kurio dydis yra mažesnis nei lentelės dydis, todėl norint išspręsti didesnį kiekį( didžiausia riba yra 2 GB su 32 KB paskirstymo blokais), reikia daug didesnių paskirstymo vienetų.Šaltinis "Braiam" mandagumas. Jei taip yra, vis tiek turėtumėte sugebėti saugiai formuoti FAT32.

Ar ką nors įtraukti į paaiškinimą?Garsas išjungtas komentaruose. Norite skaityti daugiau atsakymų iš kitų "Tech-savvy Stack Exchange" vartotojų?Patikrinkite visą diskusijų temą čia.